简体   繁体   English

::之后出现伪元素

[英]::after pseudo element appearing before

I'm trying to create a subtle wave on the top and bottom of a gradient. 我正试图在渐变的顶部和底部创建一个微妙的波。 However, the ::after pseudo element is appearing before the main content and not after. 但是,:: after伪元素出现在主要内容之前而不是之后。 Currently it's showing as ::before, ::after, main content, but I want it to show as ::before, main content, ::after. 目前它显示为:: before,:: after,主要内容,但我希望它显示为:: before,main content,:: after。

Here's my code: 这是我的代码:

 #gradient { background: #0068a9;/* For browsers that do not support gradients */ background: -webkit-linear-gradient(rgba(0, 104, 169, 1), rgba(0, 104, 169, .9));/*Safari 5.1-6*/ background: -o-linear-gradient(rgba(0, 104, 169, 1), rgba(0, 104, 169, .9));/*Opera 11.1-12*/ background: -moz-linear-gradient(rgba(0, 104, 169, 1), rgba(0, 104, 169, .9));/*Fx 3.6-15*/ background: linear-gradient(rgba(0, 104, 169, 1), rgba(0, 104, 169, .9));/*Standard*/ width: 100%; height: 300px; min-height: 0px; display: block; } #gradient::before, #gradient::after { display: block; content: ""; width: 100%; height: 75px; } #gradient::before { background: #f2f2f2 url("http://www.qumidesignco.com/clients/preparedcapital/pc_topcurve.png") center top; } #gradient::after { background: #f2f2f2 url("http://www.qumidesignco.com/clients/preparedcapital/pc_bottomcurve.png") center top; } 
 <div style="background:#f2f2f2; width: 100%; height: 300px; min-height: 0px; display:block;"></div> <div id="gradient"></div> <div style="background:#f2f2f2; width: 100%; height: 300px; min-height: 0px; display:block;"></div> 

It is appearing after normally. 它正常出现后。 The problem is your div height. 问题是你的div高度。 I added backgrounds to show where they are. 我添加了背景来展示它们的位置。 Red is before and green is after 红色在之前,绿色在之后

 #gradient { background: #0068a9;/* For browsers that do not support gradients */ background: -webkit-linear-gradient(rgba(0, 104, 169, 1), rgba(0, 104, 169, .9));/*Safari 5.1-6*/ background: -o-linear-gradient(rgba(0, 104, 169, 1), rgba(0, 104, 169, .9));/*Opera 11.1-12*/ background: -moz-linear-gradient(rgba(0, 104, 169, 1), rgba(0, 104, 169, .9));/*Fx 3.6-15*/ background: linear-gradient(rgba(0, 104, 169, 1), rgba(0, 104, 169, .9));/*Standard*/ width: 100%; height: 150px; min-height: 0px; display: block; } #gradient::before, #gradient::after { display: block; content: ""; width: 100%; height: 75px; } #gradient::before { background: #f2f2f2 url("http://www.qumidesignco.com/clients/preparedcapital/pc_topcurve.png") center top; background-color: red; } #gradient::after { background: #f2f2f2 url("http://www.qumidesignco.com/clients/preparedcapital/pc_bottomcurve.png") center top; background-color: green; } 
 <div style="background:#f2f2f2; width: 100%; height: 300px; min-height: 0px; display:block;"></div> <div id="gradient"></div> <div style="background:#f2f2f2; width: 100%; height: 300px; min-height: 0px; display:block;"></div> 

Make your gradient div relative , :before and :after absolute and top:0 in :before and bottom:0 in :after 使gradient div relative:before and :after absolutetop:0 in :beforebottom:0 in :after

 #gradient { background: #0068a9;/* For browsers that do not support gradients */ background: -webkit-linear-gradient(rgba(0, 104, 169, 1), rgba(0, 104, 169, .9));/*Safari 5.1-6*/ background: -o-linear-gradient(rgba(0, 104, 169, 1), rgba(0, 104, 169, .9));/*Opera 11.1-12*/ background: -moz-linear-gradient(rgba(0, 104, 169, 1), rgba(0, 104, 169, .9));/*Fx 3.6-15*/ background: linear-gradient(rgba(0, 104, 169, 1), rgba(0, 104, 169, .9));/*Standard*/ width: 100%; height: 300px; min-height: 0px; display: block; position: relative; } #gradient::before, #gradient::after { display: block; content: ""; width: 100%; height: 75px; position: absolute; } #gradient::before { background: #f2f2f2 url("http://www.qumidesignco.com/clients/preparedcapital/pc_topcurve.png") center top; top:0; } #gradient::after { background: #f2f2f2 url("http://www.qumidesignco.com/clients/preparedcapital/pc_bottomcurve.png") center top; bottom: 0; } 
 <div style="background:#f2f2f2; width: 100%; height: 300px; min-height: 0px; display:block;"></div> <div id="gradient"></div> <div style="background:#f2f2f2; width: 100%; height: 300px; min-height: 0px; display:block;"></div> 

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM