首页 > 网站 > WEB开发 > 正文

:before和 :after

2024-04-27 14:32:07
字体:
来源:转载
供稿:网友

:before和 :after

:before和:after的作用就是在指定的元素内容(而不是元素本身)之前或者之后插入一个包含content属性指定内容的行内元素,最基本的用法如下:

#example:before {    content: "#";    color: red;}
#example:after {    content: "$";    color: red;}这段代码会在#example元素内容之前插入一个'#',以及在内容之后添加一个'$',插入的行内元素是作为#example的子元素.效果为 #Here is the example content$

需要注意的是如果没有content属性,伪类元素将没有任何作用。但是可以指定content为空,同时正如前面所说,插入的内容默认是一个行内元素,并且在HTML源代码中无法看到,这就是为什么称之为伪类元素的理由,所以也就无法通过DOM对其进行操作。

#example:before {    content: "";    display: block;    width: 100px;    height: 100px;}最后附上2个:befroe 和:after的 例子①八卦图
<!doctype html><html><head>    <title></title>    <style>        .yin-yang {            width: 96px;            height: 48px;            background: #eee;            border-color: red;            border-style: solid;            border-width: 2px 2px 50px 2px;            border-radius: 100%;            position: relative;        }        #yin-yang:before {            content: "";            position: absolute;            top: 50%;            left: 0;            background: #eee;            border: 18px solid red;            border-radius: 100%;            width: 12px;            height: 12px;        }        #yin-yang:after {            content: "";            position: absolute;            top: 50%;            left: 50%;            background: red;            border: 18px solid #eee;            border-radius: 100%;            width: 12px;            height: 12px;        }    </style></head><body>    <div class="yin-yang" id="yin-yang"></div></body></html>

烤肉图

<!doctype html><html><head>    <title></title>    <meta charset="utf-8" />    <link rel="stylesheet" href="" media="screen" type="text/CSS" />    <style>        :before,        :after {            content: '';        }        .BBQ {            border-radius: 50%/20% 70%;            box-shadow: 40px 48px 0 #333, -32px -49.6px 0 #333, -40px 25.6px 0 #333, 28.8px -36.8px 0 #333, 8px 80px #333, -64px 72px #333, 88px 19.2px #333, -104px 25.6px #333, -88px -25.6px #333, -96px 104px #333, -40px 128px #333, 24px 128px #333, 80px 96px #333, -16px 40px 0 120px #C33, -16px 40px 0 140px #333;            position: relative;            width: 40px;            height: 40px;            margin: 100px auto;            background: #333;        }            .BBQ:before, .BBQ:after {                box-shadow: 18.4px 0 0 #999, 36.8px 0 0 #999, 55.2px 0 0 #999, 73.6px 0 0 #999, 92px 0 0 #999, 110.4px 0 0 #999, 128.8px 0 0 #999, 147.2px 0 0 #999, 165.6px 0 0 #999, 184px 0 0 #999, 202.4px 0 0 #999, 220.8px 0 0 #999, 239.2px 0 0 #999, 257.6px 0 0 #999;                display: block;                position: absolute;                top: -90px;                left: -130px;                width: 5px;                height: 300px;                background: #999;            }            .BBQ:after {                -ms-transform: rotate(90deg);                -webkit-transform: rotate(90deg);                transform: rotate(90deg);                top: -220px;                left: 0;            }            .BBQ .meat {                border-radius: 50%/30% 70% 25% 50%;                box-shadow: 0 0 0 6px rgba(255, 255, 255, 0.3) inset, 0 0 6px rgba(33, 33, 33, 0.3);                position: absolute;                top: 70px;                left: 40px;                width: 80px;                height: 80px;                background: #B45227;                z-index: 1;            }                .BBQ .meat:before, .BBQ .meat:after {                    border-radius: 45%;                    box-shadow: 15px 0 0 0 rgba(33, 33, 33, 0.2), 30px 0 0 0 rgba(33, 33, 33, 0.2);                    position: absolute;                    display: block;                    width: 4px;                    height: 60%;                    background: rgba(33, 33, 33, 0.2);                }                .BBQ .meat:before {                    -ms-transform: rotate(30deg);                    -webkit-transform: rotate(30deg);                    transform: rotate(30deg);                    top: 9px;                    left: 24px;                }                .BBQ .meat:after {                    -ms-transform: rotate(-60deg);                    -webkit-transform: rotate(-60deg);                    transform: rotate(-60deg);                    top: 30px;                    left: 30px;                }            .BBQ .sausage {                border-radius: 10px;                box-shadow: -6px 0 8px 0 rgba(92, 0, 0, 0.8) inset, 2px 0 2px 0 rgba(33, 33, 33, 0.5), 0 0 5px rgba(33, 33, 33, 0.5);                position: absolute;                top: 60px;                left: -52px;                width: 25px;                height: 100px;                background: #A00;                z-index: 1;            }                .BBQ .sausage:before {                    box-shadow: -1px 2px 2px 0 rgba(33, 33, 33, 0.5) inset;                    position: relative;                    top: 100%;                    display: block;                    margin: 0 auto;                    width: 5px;                    height: 30px;                    background: #F2E6CA;                }                .BBQ .sausage:after {                    border-radius: 0 25px 25px 0;                    filter: PRogid:DXImageTransform.Microsoft.Alpha(Opacity=30);                    opacity: 0.3;                    box-shadow: 1px -1px 0 1px rgba(33, 0, 0, 0.7), 0 22px 0 0 #632121, 1px 21px 0 1px rgba(33, 0, 0, 0.7), 0 44px 0 0 #632121, 1px 43px 0 1px rgba(33, 0, 0, 0.7);                    position: absolute;                    top: 22%;                    left: 0;                    display: block;                    width: 55%;                    height: 7px;                    background: #632121;                }            .BBQ .corn {                border-radius: 9px;                box-shadow: 4px -2px 4px rgba(99, 33, 99, 0.3) inset, -10px -2px 10px rgba(99, 33, 99, 0.5) inset, 0 0 5px rgba(33, 33, 33, 0.3);                position: absolute;                top: 60px;                left: -12px;                width: 35px;                height: 100px;                background: #F2D204;                z-index: 1;            }                .BBQ .corn:before {                    box-shadow: -1px 2px 2px 0 rgba(33, 33, 33, 0.5) inset;                    position: relative;                    top: 100%;                    display: block;                    margin: 0 auto;                    width: 5px;                    height: 30px;                    background: #F2E6CA;                }                .BBQ .corn:after {                    border-radius: 2px;                    filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=20);                    opacity: 0.2;                    box-shadow: 1px 1px 0 rgba(33, 33, 33, 0.3), 8px 0 0 #F2D204, 9px 1px 0 rgba(33, 33, 33, 0.5), 16px 0 0 #F2D204, 17px 1px 0 rgba(33, 33, 33, 0.5), 24px 0 0 #F2D204, 25px 1px 0 rgba(33, 33, 33, 0.2), 0 8px 0 #F2D204, 1px 9px 0 rgba(33, 33, 33, 0.3), 8px 8px 0 #F2D204, 9px 9px 0 rgba(33, 33, 33, 0.5), 16px 8px 0 #F2D204, 17px 9px 0 rgba(33, 33, 33, 0.5), 24px 8px 0 #F2D204, 25px 9px 0 rgba(33, 33, 33, 0.2), 0 16px 0 #F2D204, 1px 17px 0 rgba(33, 33, 33, 0.3), 8px 16px 0 #F2D204, 9px 17px 0 rgba(33, 33, 33, 0.5), 16px 16px 0 #F2D204, 17px 17px 0 rgba(33, 33, 33, 0.5), 24px 16px 0 #F2D204, 25px 17px 0 rgba(33, 33, 33, 0.2), 0 24px 0 #F2D204, 1px 25px 0 rgba(33, 33, 33, 0.3), 8px 24px 0 #F2D204, 9px 25px 0 rgba(33, 33, 33, 0.5), 16px 24px 0 #F2D204, 17px 25px 0 rgba(33, 33, 33, 0.5), 24px 24px 0 #F2D204, 25px 25px 0 rgba(33, 33, 33, 0.2), 0 32px 0 #F2D204, 1px 33px 0 rgba(33, 33, 33, 0.3), 8px 32px 0 #F2D204, 9px 33px 0 rgba(33, 33, 33, 0.5), 16px 32px 0 #F2D204, 17px 33px 0 rgba(33, 33, 33, 0.5), 24px 32px 0 #F2D204, 25px 33px 0 rgba(33, 33, 33, 0.2), 0 40px 0 #F2D204, 1px 41px 0 rgba(33, 33, 33, 0.3), 8px 40px 0 #F2D204, 9px 41px
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表