::after 伪元素出现在之前
::after pseudo element appearing before
我正在尝试在渐变的顶部和底部创建一个微妙的波浪。但是,::after 伪元素出现在主要内容之前而不是之后。目前它显示为 ::before,::after,主要内容,但我希望它显示为 ::before,主要内容,::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;
}
#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>
正常后出现。问题是你的 div 身高。
我添加了背景以显示它们的位置。之前是红色,之后是绿色
#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>
让你的 gradient div
relative
, :before and :after
absolute
和 top:0
在 :before
和 bottom:0
在 :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>
我正在尝试在渐变的顶部和底部创建一个微妙的波浪。但是,::after 伪元素出现在主要内容之前而不是之后。目前它显示为 ::before,::after,主要内容,但我希望它显示为 ::before,主要内容,::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;
}
#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>
正常后出现。问题是你的 div 身高。 我添加了背景以显示它们的位置。之前是红色,之后是绿色
#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>
让你的 gradient div
relative
, :before and :after
absolute
和 top:0
在 :before
和 bottom:0
在 :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>