: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
新闻热点
疑难解答