学而时习之,不亦说乎!

                             --《论语》

CSS:cascading style sheet(层叠样式表)

作用:描述页面的样式。

书写方式:在head标签中添加标签,<style type=”text/css”></style>

注意:css对换行不敏感,对空格也不敏感。但是一定要有标准的语法。冒号,分号都不能省略。

注释:/*注释内容*/

常见属性:

字符颜色:color:red;

字号大小:font-size:40px;

加粗:font-weight:bold;

背景颜色:backgroud-color:red;

下划线:text-decoration:underline;

不斜体:font-style:normal;

斜体:font-style:italic;

不加粗:font-weight:normal;

没有下划线:text-decoration:none;

选择器:

id选择器:#id

类选择器:.class

标签选择器:tagName

后代选择器:两个选择器之间使用空格隔开

交集选择器:两个选择器之间不使用空格隔开

并集选择器:两个选择器之间使用逗号隔开

通配符:*

儿子选择器:两个选择器之间使用>隔开,IE7开始兼容

序选择器:(:first-child),(:last-child),IE8开始兼容

下一个兄弟选择器:两个选择器之间使用+号隔开,IE7开始兼容

继承性:

有一些属性,当给自己设置的时候,自己的后代都继承上了,这个就是继承性。

哪些属性能继承?

color、 text-开头的、line-开头的、font-开头的。

这些关于文字样式的,都能够继承; 所有关于盒子的、定位的、布局的属性都不能继承。

层叠性:

多个相同的样式加在同一个标签上时,可以互相重叠。

权重计算:id选择器,class选择器,标签选择器。使用逗号分隔,不能进位(理论上255可以进一位)。

!important:这个加在css属性后面时,可以将该属性的权重提升为无限大,不推荐使用。

盒子模型:

padding:内边距,一共4个小属性,padding-top,padding-right, padding-bottom,padding-left。综合设置时按照上右下左,缺少补对边的规则。

border:边框,有三个要素:粗细、线型、颜色。常用线型:dotted(虚线),dashed(小正方形),solid(实线)。其余的可能浏览器有差别,不推荐。

border属性能够被拆开,有两大种拆开的方式:

1) 按3要素:border-width、border-style、border-color

2) 按方向:border-top、border-right、border-bottom、border-left

把每个方向的,每个要素拆开,一共12条语句:

1           border-top-width:10px;

2           border-top-style:solid;

3           border-top-color:red;

4           border-right-width:10px;

5           border-right-style:solid;

6           border-right-color:red;

7           border-bottom-width:10px;

8           border-bottom-style:solid;

9           border-bottom-color:red;

10       border-left-width:10px;

11       border-left-style:solid;

12       border-left-color:red;

实际使用时使用大属性做整体,然后使用小属性层叠。

标准文档流:

微观现象:1.空白折叠;2.高矮不一,底边对齐;3.自动换行。

标准文档流等级森严。标签分为两种等级:

1) 块级元素

● 霸占一行,不能与其他任何元素并列

● 能接受宽、高

● 如果不设置宽度,那么宽度将默认变为父亲的100%。

2) 行内元素

● 与其他行内元素并排

● 不能设置宽、高。默认的宽度,就是文字的宽度。

在HTML中,我们已经将标签分过类,当时分为了:文本级、容器级。

文本级:p、span、a、b、i、u、em

容器级:div、h系列、li、dt、dd

CSS的分类和上面的很像,就p不一样:

所有的文本级标签,都是行内元素,除了p,p是个文本级,但是是个块级元素。

所有的容器级标签都是块级元素。

转换:

块级元素可以设置为行内元素:display:inline;

行内元素可以设置为块级元素:display:block;

css中一共有三种手段,使一个元素脱离标准文档流:

1) 浮动

2) 绝对定位

3) 固定定位

浮动:

float:left;或者float:right;

浮动元素脱离标准文档流:1.都可以设置宽高。2.浮动元素互相贴靠。3.字围效果。4.没有设置width,会自动收缩为文字宽度。

清除浮动:

浮动的元素会相互影响,带来混乱。

1.给祖先容器增加height。

2.给祖先容器增加clear:both;属性;缺陷:margin失效。

3.隔墙法:a.外墙法,在两个元素之间增加一个div,div设置clear:both;属性,两个元素就不会被浮动影响。b.内墙法,在第一个元素内部最后增加一个div,div设置clear:both;属性,两个元素就不会被浮动影响。

4.给父容器增加overflow:hidden;属性。

浏览器兼容问题:

第一,IE6,不支持小于12px的盒子,任何小于12px的盒子,在IE6中看都大

解决办法很简单,就是将盒子的字号,设置小(小于盒子的高),比如0px。

height: 4px;

_font-size: 0px;

第二,IE6不支持用overflow:hidden;来清除浮动的

overflow: hidden;

_zoom:1;

margin:

margin塌陷现象:标准文档流中,两个盒子竖直方向的margin不会叠加,以大的margin为准。

盒子居中:margin:0 auto;

注意:

1) 使用margin:0 auto; 的盒子,必须有width,有明确的width

2) 只有标准流的盒子,才能使用margin:0 auto; 居中。

也就是说,当一个盒子浮动了、绝对定位了、固定定位了,都不能使用margin:0 auto;

3) margin:0 auto;是在居中盒子,不是居中文本。

文本的居中,要使用 text-align:center;

IE6双倍margin:

在IE6,当出现连续浮动的元素,携带和浮动方向相同的margin时,队首的元素,会双倍marign

解决方案:

1)使浮动的方向和margin的方向,相反。

2)使用hack,给第一个盒子一半margin:_margin-left:20px;

IE6的3pxbug:

出现这个说明代码不标准,不要用儿子的margin,用父亲的padding。

 定位:

相对定位:position:relative;

1.相对定位,就是微调元素位置的。让元素相对自己原来的位置,进行位置调整。

2.相对定位不脱标,真实位置是在老家,只不过影子出去了,可以到处飘。

3.用left、right来描述盒子右、左的移动;用top、bottom来描述盒子的下、上的移动。

position: relative;

top: 10px;

left: 40px;

绝对定位:position:absolute;

1.绝对定位的盒子,是脱离标准文档流的。所以,所有的标准文档流的性质,绝对定位之后都不遵守了。绝对定位之后,标签就不区分所谓的行内元素、块级元素了,不需要display:block;就可以设置宽、高了。

2.绝对定位的参考点,如果用top描述,那么定位参考点就是页面的左上角,而不是浏览器的左上角。

3.如果用bottom描述,那么就是浏览器首屏窗口尺寸,对应的页面的左下角。

4.一个绝对定位的元素,如果父辈元素中出现了也定位了的元素,那么将以父辈这个元素,为参考点。

5.绝对定位的儿子,无视参考的那个盒子的padding。

6.绝对定位的盒子居中

绝对定位之后,所有标准流的规则,都不适用了。所以margin:0 auto;失效。

width: 600px;

height: 60px;

   position: absolute;

left: 50%;

top: 0;

margin-left: -300px;   宽度的一半

非常简单,当做公式记忆下来。就是left:50%; margin-left:负的宽度的一半。

固定定位:position:fixed;

1.固定定位,就是相对浏览器窗口定位。页面如何滚动,这个盒子显示的位置不变。

2.固定定位脱标!

3.IE6不兼容。

z-index

● z-index值表示谁压着谁。数值大的压盖住数值小的。

● 只有定位了的元素,才能有z-index值。也就是说,不管相对定位、绝对定位、固定定位,都可以使用z-index值。而浮动的东西不能用。

● z-index值没有单位,就是一个正整数。默认的z-index值是0。

● 如果大家都没有z-index值,或者z-index值一样,那么谁写在HTML后面,谁在上面能压住别人。定位了的元素,永远能够压住没有定位的元素。

● 从父现象:父亲怂了,儿子再牛逼也没用。

CSS2.1的更多相关文章

  1. css2 [lang|=en] 误区

    [lang|=en] w3c说明:css2选择器,选择以en开头的的lang属性. w3c的这个解释是有误区的,en开头,但是en后面必须要有-,也就是说是选择的是en-开头

  2. CSS2中基本属性的介绍

    这是继上一篇的选择器的总结,对css2基本属性的小结!

  3. CSS2样式中选择器的介绍

    这里主要是对css2中的选择器进行了一下总结!

  4. 关于由CSS2.1所提出的的BFC的理解与样例

    今天在这里谈谈css中BFC.“BFC”是Block Formatting Context的缩写,这个概念是由CSS2.1提出来的,它决定了元素如何对其内容进行定位,以及与其他元素的关系和相互作用.满 ...

  5. css2选择器

    CSS1&2元素选择器 选择符  类型  版本  简介 * 通配选择符 CSS2 所有元素对象. E 类型(HTML)选择符 CSS1 以文档语言对象类型作为选择符. E#myid id选择符 ...

  6. CSS2系列:外边距合并问题(margincollapse)

    外边距合并 w3介绍这个问题地址:https://www.w3.org/TR/CSS2/box.html#collapsing-margins 当两个垂直方向外边距相遇,它们将形成一个折叠外边距. 合 ...

  7. CSS 概览(CSS2.1)更新时间2014-0406

    CSS和HTML结合 <link rel="stylesheet" type="text/css" href="sheet1.css" ...

  8. css2如何设置全屏背景图片

    每次在做一个网站后台登陆页面的时候,当UI给我一张背景是不规律的背景图片,但是在设置为背景时,总会遇到屏幕大小的问题,导致背景图片有可能平铺.这样UI的效果达不到也会很难看. 本来我想用body{ba ...

  9. 测试css2.1选择器IE6/7/8支持情况,属性选择器/子元素/相邻

    环境 xp ie 8 , ietester <!doctype html> <html> <head> <meta charset="utf-8&q ...

  10. 用css2属性clip实现网页进度条

    前言 看了网上一些关于网页进度条样式的资料,有很多方式实现,针对其展现形式,有用图片的,有用css2属性clip,有用flash的,本人就学会了一种,下面就简单来介绍一下. css2的属性clip 如 ...

随机推荐

  1. Luogu 1606 [USACO07FEB]白银莲花池Lilypad Pond

    感觉应当挺简单的,但是弄了好久……菜死了 如果不考虑那些为$1$的点,直接跑个最短路计数就好了,但是我们现在有一些边可以不用付出代价,那么只要在连边的时候先预处理搜一下就好了. 原来的想法是拆点,但是 ...

  2. NEERC17 J Journey from Petersburg to Moscow

    CF上可以提交.   链接 依然是很妙的解法. 我们可以枚举每一个出现过的边权$L$,然后把所有边的边权减掉这个$L$,如果小于$L$就变为$0$,然后跑一遍最短路然后加上$k * L$更新答案即可. ...

  3. Gson 配置解析

    之前项目用到了gson对json和Java类之间互转,现在将gson的配置总结一下. 首先,创建gson对象之间,建立gsonbuilder对象,并配置 // 不导出实体类中没有用@Expose注解的 ...

  4. LightOJ 1258 Making Huge Palindromes (Manacher)

    题意:给定上一个串,让你在后面添加一些字符,使得这个串成为一个回文串. 析:先用manacher算法进行处理如果发现有字符匹配超过最长的了,结束匹配,答案就是该字符前面那个长度加上该串原来的长度. 代 ...

  5. LeetCode(258.各位相加)的思路及解决过程

    问题如下: 给一个非负整数 num,反复添加所有的数字,直到结果只有一个数字. 例如: 设定 num = 38,过程就像: 3 + 8 = 11, 1 + 1 = 2. 由于 2 只有1个数字,所以返 ...

  6. 用原生css实现高斯模糊、黑白等滤镜效果

    —引导— 在CSS3中,有一个强大的属性,那就是filter属性,filter顾名思义就是“滤镜”的意思,用filter属性可以让图片无需PS处理就达到一些简单的显示效果. —定义和使用— filte ...

  7. 博客迁移到http://pengliu.cf

    博客迁移到http://pengliu.cf

  8. js作用域解析原理

    当代码进入到<script>标签或者在调用一个方法,那么就会进入作用域,在解析代码的时候就会做以下两件事情: ①去找var 和function关键字进行js预解析如果有var把值全部定义成 ...

  9. MVC 异常过滤

    using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.We ...

  10. SQL Server 根据关键字和结束符提取字符串子串

    /* @info-待截取的字符串 @indexStr-截取子串的起始字符串 @split-截取子串的结束符号 列入依次传入 胸片:正常.心电图:异常,需要注意.血常规检查:正常. 心电图 '.' 返回 ...