CSS中的伪类有:css
:link
——未访问过的连接;:visited
——访问过的连接;:hover
——鼠标悬停的元素;:focus
——获取焦点的元素;:active
——激活的元素(例如一个被单击的连接元素);:first-child
——做为其余元素第一个子元素的元素;:lang()
——根据元素的lang属性肯定的元素。:target
:root
:nth-child()
:nth-of-type()
:nth-last-of-type()
:first-of-type
:last-of-type
:only-of-type
:only-child
:last-child
:empty
:not()
:enabled
:disabled
:checked
CSS2.1中的伪元素有:css3
::first-line
::first-letter
::before
::after
那么区别在哪儿呢?区别就在于这些伪选择器影响文档的方式不一样。伪类的表现有点儿像给文档添加类,而伪元素的效果就好像有元素被插入到了文档中。浏览器
特殊性能够来判断优先级ide
a[href*="w3.org"] {font-weight: bold;} 选择全部URL中包含w3.org的连接元素 a[href^="http"] a[href$=".pdf"] 只查找属性值的开头或结尾部分 p~ul选择前面有<p>元素的每一个<ul>元素,即选择p以后出现的全部ul css中“>”是css3中特有的选择器,A>B表示选择A元素的全部子B元素,与A B不一样的是,A B选择全部后代元素,为A>B只选择一代。 A B{}选择A全部的后代B元素 A>B{}选择A的一代B元素 A+B{}这个+是选择相邻兄弟,称做“相邻兄弟选择器”,若是须要选择紧接在另外一个元素后的元素,并且两者有相同的父元素,可使用相邻兄弟选择器,例如,若是要增长紧接在 h1 元素后出现的段落的上边距,能够这样写: h1 + p {margin-top:50px;} 波浪号做为选择符,容许选择后续的兄弟元素,但不包含直接相邻的兄弟元素。 h1 ~ ul {list-style-type: lower-alpha;}
line-height
(行高)属性既能够接受无单位的数值,也可使用带单位的行高值。那么它们之间有什么区别呢?当你定义了一个有单位的值,例如1em
或者100%
时,就会将计算后的行高值传给所有的后代元素。而无单位的行高值不会传导到后代元素。布局
.hide {visibility: hidden;} 该规则会使元素不可见,这可能听上去像是元素没有`display`属性。然而,这里有个很关键的差别:被设置成`visibility: hidden`的元素仍然参与页面布局
设置打印样式
将这些打印样式应用到屏幕媒介上,把其余的屏幕样式取消,如图3-11所示。所以,须要把print
改成screen
而且把原来存在的screen
值改成其余的media
值。通常会使用tty
这个值,由于这是跟screen
最不搭边的媒介了,而且它很短,输入很方便。字体
<link type="text/css" rel="stylesheet" href="basic.css" media="tty"> <link type="text/css" rel="stylesheet" href="theme.css" media="tty"> <link type="text/css" rel="stylesheet" href="print.css" media="screen">
通用样式code
body {padding: 0; margin: 0;} 消除全部浏览器的装订距离 ul, ol {margin-left: 0; padding-left: 0;}
轮廓outline和div的区别
一、边框是参与布局的,而轮廓并不参与。
二、轮廓必然是环绕着元素的,而且在元素的四周永远保持一致。换种说法就是,你不能像设置边框那样只设置左轮廓或者上轮廓rem
清除浮动:文档
div#footer {clear: left;}
清除浮动最简单的办法就是在文档中插入一个元素,并设置它的clear
(清除)属性。get
<br class="clearfix">
.clearfix {display: block; clear: both; font-size: 0; height: 0;}
em和rem相对于px更具备灵活性,他们是相对长度单位,更适用于响应式布局。
对于em和rem的区别一句话归纳:em相对于父元素,rem相对于根元素。
em