也许你是一个初学者,也许你是一个有一点经验的菜鸟,也许你是一个经验丰富的高手。曾几何时,你找工作的时候是不是经常会发现要求里许许多多的“精通”字样。精通这个精通那个;我想每个人对精通的理解都不一样。精通的字面意思是:透彻理解并能熟练掌握!在CSS里,能达到这个境界的,我想没有三五年经验很难吧。希望下面这些CSS属性能让你向精通更靠近一些。
一.CSS Pseudo-Classes 伪类
1.Selector : hover { sRules }
设置对象在其鼠标悬停时的样式表属性。
在CSS1中此伪类仅可用于a对象。且对于无href属性(特性)的a对象,此伪类不发生作用。在CSS2中此伪类可以应用于任何对象。
2.Selector : active { sRules }
设置对象在被用户激活(在鼠标点击与释放之间发生的事件)时的样式表属性。
在CSS1中此伪类仅可用于a对象。且对于无href属性(特性)的a对象,此伪类不发生作用。在CSS2中此伪类可以应用于任何对象。并且:active状态可以和:link以及:visited状态同时
发生。
3.Selector : focus { sRules }
设置对象在成为输入焦点(该对象的onfocus事件发生)时的样式表属性。
如果您使用过谷歌的产品,你可能会发现,每一个动作都会有比较明显的响应。比如鼠标移入移除,点击,获得焦点时都有不同的显示样式;这些都可以使用以上三个CSS伪类来实现。可能大家
平时在链接(<A>标签)上使用伪类比较多,其实很多标签都可以使用哦,你不妨试试。
4.Selector : first-letter { sRules }
设置对象内的第一个字符的样式表属性。
此伪对象仅作用于块对象。内联对象要使用该伪对象,必须先设定对象的height或width属性,或者设定position属性为absolute,或者设定display属性为block。
当你想加强每一段中的第一个字符时,这个CSS属性特别有用。
5.Selector : first-line { sRules }
设置对象内的第一行的样式表属性。
此伪对象仅作用于块对象。内联对象要使用该伪对象,必须先设定对象的height或width属性,或者设定position属性为absolute,或者设定display属性为block。
这个和first-letter类似的用法,不同的是,这个指定的第一行。
6.Selector1 Selector2 : first-child { sRules }
设置对象(Selector1)的第一个子对象(Selector2)的样式表属性。
我觉得这个CSS属性最有用的地方就在于,一个标签内拥有很多相同的子标签,我们想给第一个子标签设定不同样式时,特别有用。
比如下面这个标签:<div><span>标签一</span><span>标签二</span><span>标签三</span><span>标签四</span></div>
7.Selector : lang { sRules }
设置对象使用特殊语言的内容样式表属性。
这个可以对不同的语言定义特殊的规则,我测试了一下,似乎只有q(<q lang="en">Hello...</q>)这个标签有效果。
8.Selector : before { sRules }
用来和content属性一起使用,设置在对象前(依据对象树的逻辑结构)发生的内容。
9.Selector : after { sRules }
用来和content属性一起使用,设置在对象后(依据对象树的逻辑结构)发生的内容。
before和after两个伪类的用处还是蛮大的;比如我们可以在每个链接后面显示一个图标,在所有的邮箱前面显示文字说明;更多的用处就需要大家自己去挖掘了。
二.规则
1.@font-face { font-family : name ; src : url( url ) ; sRules }
name : 字体名称
url : 使用绝对或相对地址指定OpenType字体
sRules : 样式表定义
设置嵌入HTML文档的字体。
嵌入HTML文档的字体是指将OpenType字体(压缩的TrueType字体)文件映射到客户端系统,用来提供HTML文档使用该字体,或取代客户端系统已有的同名字体。
当你想使用一个很漂亮但是非系统字体时,这个属性非常有用;它可以将字体下载到用户的电脑上。
2.@media sMedia { sRules }
sMedia : 指定设备名称。
sRules : 样式表定义
指定样式表规则用于指定的设备类型。请参阅link对象的media属性(特性)。
当你的网页要为多种设备定制显示样式时特别有用。
三.其他属性
1.clip : auto | rect ( number number number number )
auto : 对象无剪切
rect ( number number number number ) : 依据上-右-下-左的顺序提供自对象左上角为(0,0)坐标计算的四个偏移数值,其中任一数值都可用auto替换,即此边不剪切
检索或设置对象的可视区域。区域外的部分是透明的。
必须将position的值设为absolute,此属性方可使用。
当我们要对某一区域进行裁剪时,特别有用;比如我们想只显示图片或文字的一部分。
2.text-indent : length
length : 百分比数字|由浮点数字和单位标识符组成的长度值,允许为负值。请参阅长度单位
检索或设置对象中的文本的缩进。
在被另一个对象(如)断开的对象内不能应用本属性。
当你想在每一段进行缩进显示时,这个属性特别有用;从今天开始不要再使用空格了哦。
3.letter-spacing : normal | length
normal : 默认间隔
length : 由浮点数字和单位标识符组成的长度值,允许为负值。请参阅长度单位
检索或设置对象中的文字之间的间隔。
该属性将指定的间隔添加到每个文字之后,但最后一个字将被排除在外。
有的时候我们想要文字之间的间隔大一些,尤其是在阅读文章时,这样可以保护读者的眼睛,让读者不至于很快的出现眼疲劳。
4.text-transform : none | capitalize | uppercase | lowercase
none : 无转换发生
capitalize : 将每个单词的第一个字母转换成大写,其余无转换发生
uppercase : 转换成大写
lowercase : 转换成小写
检索或设置对象中的文本的大小写。
这个属性可以帮我们快速的设置字母的大小写,似乎还是蛮有用的。
以上CSS并没有在所有浏览器的所有版本中经过测试,如果你要使用在正式的项目中,我建议你可以先对你需要兼容的浏览器和版本进行有效测试。
如果这篇文章有帮到你,请你推荐一下吧,多给我一些动力;如果有写的不对或有更好的建议和补充,也请你留下宝贵的文字。
点击这里下载我对这些样式进行测试的文件。