CSS偽元素 :before, :after, box-shadow應(yīng)用
發(fā)布時間:2014-03-04 10:20:55 作者:佚名
我要評論

利用CSS偽元素 :before 和 :after 可以在文檔前后插入內(nèi)容而不改變文檔原有結(jié)構(gòu),下面有個不錯的示例,大家可以參考下
利用CSS偽元素 :before 和 :after 可以在文檔前后插入內(nèi)容而不改變文檔原有結(jié)構(gòu),再配合 box-shadow 可以實現(xiàn)很炫的效果,
下面就展示三個例子:
1、利用 :before 和 :after 添加背景,比如給一段文字前后打引號;
2、利用 :before, :after, box-shadow 實現(xiàn)3D陰影效果;
3、利用 :before, :after, box-shadow 實現(xiàn)照片疊加效果.
<!DOCTYPE html>
<html lang="zh-cn">
<head>
<title>Pseudo Demo</title>
<style>
body{background-color:#ccd3d7;padding:40px;}
h2{display:block;border-bottom:1px solid #ddd;padding:15px;}
p.myquote{padding:1em;font-size:16px;margin:8px 1em;position:relative;color:blue;line-height:1.7em;}
p.myquote:before,p.myquote:after{font-size:40px;position:absolute;padding:0;margin:0;color:green;}
p.myquote:hover:before,p.myquote:hover:after{color:red;font-size:50px;}
p.myquote:before{content:"“";left:0;left:-10px;}
p.myquote:after{content:"”";padding-left:15px;bottom:4px;}
.shbox{
background:#fff;
padding:10px;
width:90%;
margin:40px auto;
height:auto;
margin:40px auto;
}
.sh-down-lr{position:relative;}
.sh-down-lr:before,.sh-down-lr:after{
z-index: -1;
position: absolute;
content: "";
bottom: 15px;
left: 10px;
width: 50%;
top: 80%;
max-width:300px;
background: #777;
-webkit-box-shadow: 0 15px 10px #777;
-moz-box-shadow: 0 15px 10px #777;
box-shadow: 0 15px 10px #777;
-webkit-transform: rotate(-3deg);
-moz-transform: rotate(-3deg);
-o-transform: rotate(-3deg);
-ms-transform: rotate(-3deg);
transform: rotate(-3deg);
}
.sh-down-lr:after{
-webkit-transform: rotate(3deg);
-moz-transform: rotate(3deg);
-o-transform: rotate(3deg);
-ms-transform: rotate(3deg);
transform: rotate(3deg);
right:10px;
left:auto;
}
.stackone {
border: 6px solid #fff;
width: 400px;
height:225px;
margin: 50px;
position: relative;
-webkit-box-shadow: 2px 2px 5px rgba(0,0,0,0.3);
-moz-box-shadow: 2px 2px 5px rgba(0,0,0,0.3);
box-shadow: 2px 2px 5px rgba(0,0,0,0.3);
}
.stackone img{width:100%;heigth:100%;}
.stackone:before,.stackone:after {
content: "";
width: 400px;
height:225px;
background: #aaa;
border: 6px solid #fff;
position:absolute;
z-index:-1;
top:0;
left:-10px;
-webkit-box-shadow: 2px 2px 5px rgba(0,0,0,0.3);
-moz-box-shadow: 2px 2px 5px rgba(0,0,0,0.3);
box-shadow: 2px 2px 5px rgba(0,0,0,0.3);
-webkit-transform: rotate(-5deg);
-moz-transform: rotate(-5deg);
-o-transform: rotate(-5deg);
-ms-transform: rotate(-5deg);
transform: rotate(-5deg);
}
.stackone:after {
top:5px;
left:0;
-webkit-transform: rotate(3deg);
-moz-transform: rotate(3deg);
-o-transform: rotate(3deg);
-ms-transform: rotate(3deg);
transform: rotate(3deg);
}
</style>
</head>
<body>
<div class="shbox sh-down-lr">
<h2>CSS Demo :before, :after, box-shadow</h2>
<p class="myquote">人最寶貴的是生命。生命屬于人只有一次。人的一生應(yīng)當(dāng)這樣度過:當(dāng)回憶往事的時候,他不會因為虛度年華而悔恨,也不會因為碌碌無為而羞愧.</p>
<p class='myquote'>鋼是在烈火里燃燒、高度冷卻中煉成的,因此它很堅固。我們這一代人也是在斗爭中和艱苦考驗中鍛煉出來的,并且學(xué)會了在生活中從不灰心喪氣。</p>
</div>
<div class="shbox" style="background:none;">
<div class="stackone">
<img src="http://photos.tuchong.com/392707/f/6512410.jpg" />
<div>
</div>
</body>
</html>
實現(xiàn)效果:
下面就展示三個例子:
1、利用 :before 和 :after 添加背景,比如給一段文字前后打引號;
2、利用 :before, :after, box-shadow 實現(xiàn)3D陰影效果;
3、利用 :before, :after, box-shadow 實現(xiàn)照片疊加效果.
復(fù)制代碼
代碼如下:<!DOCTYPE html>
<html lang="zh-cn">
<head>
<title>Pseudo Demo</title>
<style>
body{background-color:#ccd3d7;padding:40px;}
h2{display:block;border-bottom:1px solid #ddd;padding:15px;}
p.myquote{padding:1em;font-size:16px;margin:8px 1em;position:relative;color:blue;line-height:1.7em;}
p.myquote:before,p.myquote:after{font-size:40px;position:absolute;padding:0;margin:0;color:green;}
p.myquote:hover:before,p.myquote:hover:after{color:red;font-size:50px;}
p.myquote:before{content:"“";left:0;left:-10px;}
p.myquote:after{content:"”";padding-left:15px;bottom:4px;}
.shbox{
background:#fff;
padding:10px;
width:90%;
margin:40px auto;
height:auto;
margin:40px auto;
}
.sh-down-lr{position:relative;}
.sh-down-lr:before,.sh-down-lr:after{
z-index: -1;
position: absolute;
content: "";
bottom: 15px;
left: 10px;
width: 50%;
top: 80%;
max-width:300px;
background: #777;
-webkit-box-shadow: 0 15px 10px #777;
-moz-box-shadow: 0 15px 10px #777;
box-shadow: 0 15px 10px #777;
-webkit-transform: rotate(-3deg);
-moz-transform: rotate(-3deg);
-o-transform: rotate(-3deg);
-ms-transform: rotate(-3deg);
transform: rotate(-3deg);
}
.sh-down-lr:after{
-webkit-transform: rotate(3deg);
-moz-transform: rotate(3deg);
-o-transform: rotate(3deg);
-ms-transform: rotate(3deg);
transform: rotate(3deg);
right:10px;
left:auto;
}
.stackone {
border: 6px solid #fff;
width: 400px;
height:225px;
margin: 50px;
position: relative;
-webkit-box-shadow: 2px 2px 5px rgba(0,0,0,0.3);
-moz-box-shadow: 2px 2px 5px rgba(0,0,0,0.3);
box-shadow: 2px 2px 5px rgba(0,0,0,0.3);
}
.stackone img{width:100%;heigth:100%;}
.stackone:before,.stackone:after {
content: "";
width: 400px;
height:225px;
background: #aaa;
border: 6px solid #fff;
position:absolute;
z-index:-1;
top:0;
left:-10px;
-webkit-box-shadow: 2px 2px 5px rgba(0,0,0,0.3);
-moz-box-shadow: 2px 2px 5px rgba(0,0,0,0.3);
box-shadow: 2px 2px 5px rgba(0,0,0,0.3);
-webkit-transform: rotate(-5deg);
-moz-transform: rotate(-5deg);
-o-transform: rotate(-5deg);
-ms-transform: rotate(-5deg);
transform: rotate(-5deg);
}
.stackone:after {
top:5px;
left:0;
-webkit-transform: rotate(3deg);
-moz-transform: rotate(3deg);
-o-transform: rotate(3deg);
-ms-transform: rotate(3deg);
transform: rotate(3deg);
}
</style>
</head>
<body>
<div class="shbox sh-down-lr">
<h2>CSS Demo :before, :after, box-shadow</h2>
<p class="myquote">人最寶貴的是生命。生命屬于人只有一次。人的一生應(yīng)當(dāng)這樣度過:當(dāng)回憶往事的時候,他不會因為虛度年華而悔恨,也不會因為碌碌無為而羞愧.</p>
<p class='myquote'>鋼是在烈火里燃燒、高度冷卻中煉成的,因此它很堅固。我們這一代人也是在斗爭中和艱苦考驗中鍛煉出來的,并且學(xué)會了在生活中從不灰心喪氣。</p>
</div>
<div class="shbox" style="background:none;">
<div class="stackone">
<img src="http://photos.tuchong.com/392707/f/6512410.jpg" />
<div>
</div>
</body>
</html>
實現(xiàn)效果:

相關(guān)文章
- before 和 after其實就是附著在元素前后的偽元素,說他是偽元素的意思就是,元素不是在DOM中生成的,而是在瀏覽器渲染引擎渲染CSS的時候畫上去的,這篇文章主要給大家介紹2017-09-18
那些你所不知的CSS ::before 和::after 偽元素用法
下面小編就為大家?guī)硪黄切┠闼恢腃SS ::before 和::after 偽元素用法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-06-12- :before和:after偽元素在CSS中除了被用來添加元素、加小標(biāo)、清浮動等,還有很多妙用之處,接下來我們就來看一兩個CSS中:before和:after偽元素使用的奇技淫巧2016-05-20
- 這篇文章主要介紹了CSS中的before和:after偽元素使用詳解,包括對一些非文本內(nèi)容的插入操作使用,需要的朋友可以參考下2015-05-27
CSS偽元素before、after設(shè)置特殊效果:制作時尚焦點圖相框
在css選擇器中有這樣子的寫法div:before、div:after,對于before、after來說有部分人是相當(dāng)陌生的,那么這兩個標(biāo)簽是什么呢?有什么用處?本文將詳細(xì)介紹,需要的朋友可以參2012-12-12CSS偽元素 CSS:before CSS偽元素(Pseudo Element):after與:before
before 偽元素在元素之前添加內(nèi)容2011-12-04- 本篇重點介紹CSS中的:befor、:after創(chuàng)建的偽元素幾種使用場景,如填充文本、作為iconfont、進(jìn)度線、時間線以及幾何圖形,感興趣的朋友一起看看吧2018-02-07