那些不常用却很有的CSS

也许你是一个初学者,也许你是一个有一点经验的菜鸟,也许你是一个经验丰富的高手。曾几何时,你找工作的时候是不是经常会发现要求里许许多多的“精通”字样。精通这个精通那个;我想每个人对精通的理解都不一样。精通的字面意思是:透彻理解并能熟练掌握!在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并没有在所有浏览器的所有版本中经过测试,如果你要使用在正式的项目中,我建议你可以先对你需要兼容的浏览器和版本进行有效测试。
如果这篇文章有帮到你,请你推荐一下吧,多给我一些动力;如果有写的不对或有更好的建议和补充,也请你留下宝贵的文字。

点击这里下载我对这些样式进行测试的文件。

你可能感兴趣的:(css)