导航菜单
  • 首页
  • 首页>前端万博manbext备用网址>CSS万博manbext备用网址

    CSS3第四课:伪元素选择器,::before和::after就是左膀右臂!

    讲完了伪类选择器,还有一个兄弟叫伪元素的选择器也把它搞定吧。

    它们都有一个伪字,说明都是不存在的,但是它们也有区别:伪类是一种状态,伪对象是不真正存在于HTML文档中的标签对象,但是它是以html对象的方式虚拟出现,并且可以通过css控制的对象。

    在最新的CSS3标准中,把伪对象的格式改成了双冒号,即::before,::after,是为了和伪类分开。早期的浏览器,比如IE8,只支持单冒号的伪对象。如果为了往下兼容,可以使用单冒号伪对象,如果只兼容IE9以上的现代浏览器,可以使用双冒号伪对象。

    一、伪对象选择器

    选择器
    描述
    版本
    :first-letter
    向文本的第一个字母(英文或中文)添加样式
    CSS1
    :first-line
    向文本的首行添加样式, 只能与块级元素关联
    CSS1
    :before
    在元素内部所有子元素之前添加内容
    CSS2
    :after
    在元素内部所有子元素之后添加内容
    CSS2
    ::selection
    选择被用户选取的元素部分。
    CSS3

    关于:first-letter的应用,主要是用在首行首字上面,在上一课伪类选择器里面已有万博manbext3.0首页登录,这里就不多讲。

    :first-line貌似真的很少用啊,只能用在块级文本对象上,比如p段落。

    用的最多的,能够产生无穷想象力的就是:before和:after两个对象了,所以我说它们就是元素的左膀右臂,很多奇思妙想的效果都可以结合它们实现,而且还支持CSS3动画等。

    当然用的最多的还是用来清除浮动造成的父元素高度塌陷的情况,实现父元素的高度自适应。

    .clearfix::after{
        content:"";
        display:block;
        clear:both;}

    二、使用技巧

    :before/:after使用的时候必须有一个content属性才能起效。

    比如:

    li:after{
        content:"new"; /*必须要有的一个属性,表示产生一个内容对象,后面的样式都是为这个虚拟出来的对象设置的,而不是为li设置的。*/
        color:#F60;
        font-size:0.875rem;
    }

    最后产生的这个after伪对象出现在<li>....:after</li>,li的内部所有子元素的最后。

    这里的content主要可以包含的内容有:

    1、文本或者其他字符串。

    2、图片,但是图片是原始尺寸,不太好控制,比如:content:url(images/1.jpg)。

    3、当然可以为空。content:"",产生一个空对象,特别适合设置为一个position:absolute的对象,然后就可以结合背景或者定位实现丰富的效果了。这是主流用法。

    三、典型万博manbext3.0首页登录参考

    1、增加装饰性,比如三角形,阴影等,这些都是具有装饰性的用法。

    See the Pen 伪对象装饰性三角形 by zhaolanzhen (@mrszhao) on CodePen.

    2、为图片增加装饰性效果。主要都是利用定位和背景的方式去完成,可以是背景颜色,图片,渐变等。

    See the Pen 伪元素对图片的装饰 by zhaolanzhen (@mrszhao) on CodePen.

    马上放假回家过年啦,估计要停更一下了。

    狗年大吉,新的一年一定有更美好的事情发生!

    点赞


    28
    保存到:

    相关文章

    发表评论:

    ◎请发表你卖萌撒娇或一针见血的评论,严禁小广告。

    Top