本文共 2861 字,大约阅读时间需要 9 分钟。
子选择器:parent>child
子选择器是指选择parent的范围内的第一个子元素。这里parent和child均是伪代码。可以是class用.classname,也可以是标签ul>li,也可以是id #pid>#cid
后代选择器:parent child
后代选择器是指:选择parent范围内的所欲child元素。与子选择器不同的是,这里包含嵌套内的child元素,而子选择器仅仅选中parent下的直接的第一个子元素。
全局选择:*{}
这里可以配置全局的默认配置,如去掉默认间距等。
多个选择器同时设置:h,span,div{}
多个选择器用逗号间隔,设置通用的样式。
在css中,html中的标签元素大体被分为三种不同的类型:块状元素、内联元素(又叫行内元素)和内联块状元素。
常用的块状元素有:
div,p,h1..h6,ol,ul,dl,table,address,blockquote,form
常用的内联元素有:
a,span,br,i,em,strong,label,q,var,cite,code
常用的内联块状元素有:
img,input
什么是块级元素?在html中div,p,hl,form,ul,li就是块级元素。设置display:block就是将元素显示为块级元素。如下代码就是将内联元素a转换为块级元素,从而使a元素具有块状元素特点。
1 2 3 | a{ display:block; } |
块级元素特点:
在html中,span,a,label,strong,em就是内联元素(行内元素)(inline)元素。当然块状元素也可以通过代码display:inline将元素设置为内联元素。
1 2 3 | div{ display:inline; } |
内联元素特点:
解决行内元素间隙bug问题
行内元素之间会产生间隙bug问题的场景:
1、当行内元素之间有“回车”、“tab”、“空格”时就会出现间隙。
如下代码:
1 2 3 4 5 6 7 | < div > < a >1</ a > < a >2</ a > < span >33333</ span > < span >44444</ span > < em >555555</ em > </ div > |
解决方法:
1、写在一行,之间不要有空格之类的符号。
1 2 3 | < div > < a >1</ a >< a >2</ a >< span >33333</ span >< span >44444</ span >< em >555555</ em > </ div > |
2、使用font-size:0
1 2 | div{font-size:0;} a,span,em{font-size:16px;} |
网上还有很多有趣的方法可解决这个bug感兴趣的小伙伴们快去搜索一下吧。
内联块状元素(inline-block)就是同时具备内联元素、块状元素的特点,代码display:inline-block就是将元素设置为内联块状元素(css2.1)img,input标签就是这种内联块状状态标签。
inline-block元素特点:
css中,盒子模型是关于元素的宽高的。如下图:
盒子模型的边框就是围绕着内容及补白的线,这条线你可以设置它的粗细、样式和颜色。
如下代码设置div
1 2 3 | div{ border:2px solid red; } |
上面是缩写,分开写为:
1 2 3 4 5 | div{ border-width:2px; border-style:solid; border-color:red; } |
注意:
边框方向:
如果想单独设置下边框,可以:div{border-bottom:1px solid red;}
同样可以设置其他三边:
border-top:1px solid red;border-right:1px solid red;border-left:1px solid red;
css内定义的宽width和高height指的是填充padding以内的内容。因此一个元素实际宽度为:
盒子的宽度=左边界+左边框+左填充+内容宽度+右填充+右边框+右边界。
测试用例:
1 2 3 4 5 6 7 8 9 10 11 | < style type="text/css"> #div_id{ width: 200px; padding: 20px; border: 1px solid red; margin: 10px; } </ style > < div id="div_id"> 盒模型测试用例 </ div > |
结果:
元素内容与边框之间可以设置距离,叫做padding(填充)。填充也可以分上右下左。如下:
div{padding:20px 10px 15px 30px;}
顺序不要搞错!分开写:
div{padding-top:20px;padding-right:10px;padding-bottom:15px;padding-left:30px;}
如果上右下左都填充为10px可以这么写:
div{padding:10px;}
如果上下填充为10px,左右填充为20px:
div{padding:10px 20px;}
元素与其他元素之间的距离可以使用边界margin来设置。边界同样分上右下左。
本文转自Ryan.Miao博客园博客,原文链接:http://www.cnblogs.com/woshimrf/p/5329893.html,如需转载请自行联系原作者