选择器类型:css
id选择器 ( # myid) 类选择器 (.myclassname) 标签选择器 (div, h1, p) 相邻选择器 (h1 + p) 子选择器 (ul > li) 后代选择器 (li a) 通配符选择器 ( * ) 属性选择器 (a[rel = "external"]) 伪类选择器 (a:hover, li:nth-child)
浏览器的默认字体高都是16px。因此未经调整的浏览器都符合: 1em=16px。那么12px=0.75em, 10px=0.625em。html
<div> <div id="left" style="float:left;width:100%; height:200px;background-color:red;"></div> <div id="right" style="float:left;margin-left:-100%;width:200px;height:200px;background-color:green;"></div> </div>
<div style="display:flex;"> <div id="left" style="flex-basis:200px;width:100%; height:200px;background-color:red;"></div> <div id="right" style="flex:1;height:200px;background-color:green;"></div> </div>
IE-Trident,Firefox-Gecko,Opera-Blink,Chrome-Webkit,Safari-Webkit
,360-兼容模式Trident
+极速模式Webkit
<div class="box"> <img src="http://img1.gtimg.com/nice_mb/08/1c/24769.jpg" /> </div> .box{ width:200px; height:200px; border:1px solid #06C; display:table-cell; text-align:center; vertical-align:middle; *font-family:simsun; *font-size:200px; } .box img{ vertical-align:middle; }
overflow:hidden
.parent{ overflow:hidden; }
<div class="parent"> <a href="">12</a> <a href="">12</a> <a href="">12</a> <a href="">12</a> <a href="">12</a> <a href="">12</a> <a href="">12</a> <a href="">12</a> <div style="clear:both"></div> </div>
clearfix
.clearfix:after{ content:""; display:table; clear:both; }
#lamp{ width: 400px; height: 40px; background: #ff0000; } #lamp:hover{ animation: rotate 2s; -webkit-animation: rotate 2s; /* Safari and Chrome */ } @keyframes rotate { from {transform: rotate(0deg);} to {transform: rotate(180deg);} } @-webkit-keyframes rotate /* Safari and Chrome */ { from {transform: rotate(0deg);} to {transform: rotate(180deg);} }
content
),元素的内边距(padding
),元素的边框(border
),元素的外边距(margin
)四个部分。a、b、span、img、input、strong、select、label、em、button、textarea
div、ul、li、dl、dt、dd、p、h1-h六、blockquote
br、meta、hr、link、input、img
//HTML结构: <div class="wrapper"> <div class="content"></div> </div> //CSS: .wrapper { position: relative; width: 500px; height: 500px; border: 1px solid red; } .content{ position: absolute; width: 200px; height: 200px; /*top、bottom、left和right 均设置为0*/ top: 0; bottom: 0; left: 0; right: 0; /*margin设置为auto*/ margin:auto; border: 1px solid green; }
补充:link和@import的区别web
二者都是外部引用CSS的方式,可是存在必定的区别:bootstrap
区别1:link是XHTML标签,除了加载CSS外,还能够定义RSS等其余事务;@import属于CSS范畴,只能加载CSS。浏览器
区别2:link引用CSS时,在页面载入时同时加载;@import须要页面网页彻底载入之后加载。安全
区别3:link是XHTML标签,无兼容问题;@import是在CSS2.1提出的,低版本的浏览器不支持。服务器
区别4:ink支持使用Javascript控制DOM去改变样式;而@import不支持。app
区别:ide
a. 优雅降级是从复杂的现状开始,并试图减小用户体验的供给布局
b. 渐进加强则是从一个很是基础的,可以起做用的版本开始,并不断扩充,以适应将来环境的须要
c. 降级(功能衰减)意味着往回看;而渐进加强则意味着朝前看,同时保证其根基处于安全地带
<img src="#" alt="alt信息" />
<img src="#" alt="alt信息" title="title信息" />
base,basefont,head,html,meta,param,script
和title
以外的全部标签width + margin
(左右) + padding
(左右) + border
(左右)width + margin
(左右)(即width已经包含了padding和border值)box-sizing
border-radius、border-shadow、border-image
)之类的 。CSS Hack
。// 一、条件Hack <!--[if IE]> <style> .test{color:red;} </style> <![endif]--> // 二、属性Hack .test{ color:#090\9; /* For IE8+ */ *color:#f00; /* For IE7 and earlier */ _color:#ff0; /* For IE6 and earlier */ } // 三、选择符Hack * html .test{color:#090;} /* For IE6 and earlier */ * + html .test{color:#ff0;} /* For IE7 */
异向重叠问题:float:left
(只能解决IE6浏览器中的异向重叠问题,能够解决IE8以上、chorme、firefox、opera
下的同向重叠问题)
absolute
生成绝对定位的元素,相对于static
定位之外的第一个父元素进行定位。fixed
生成绝对定位的元素,相对于浏览器窗口进行定位。relative
生成相对定位的元素,相对于其正常位置进行定位。所以,"left:20" 会向元素的 left位置添加 20 像素。static
默认值。没有定位,元素出如今正常的流中(忽略 top, bottom, left, right
或者 z-index
声明)。inherit
规定应该从父元素继承 position 属性的值。display:none
是完全消失,不在文档流中占位,浏览器也不会解析该元素;visibility:hidden
是视觉上消失了,能够理解为透明度为0的效果,在文档流中占位,浏览器会解析该元素;visibility:hidden
性能要好,display:none
切换显示时visibility
,页面产生回流(当页面中的一部分元素须要改变规模尺寸、布局、显示隐藏等,页面从新构建,此时就是回流。全部页面第一次加载时须要产生一次回流),而visibility
切换是否显示时则不会引发回流。