我想做一个截止角落的div。 我希望用带有background-image的:before和:after元素来做到这一点。 div的左侧和右侧有定位。 但他们没有显示......
这是我的HTML:
<div class="page">
<div class="canvas" id="canvas">
<div class="TimeLineContainer">
<div class="TimelineContent"></div>
</div>
</div>
</div>
这是CSS iam使用:
html, body {
width: 100%;
height: 100%;
margin: 0;
padding: 0;
}
body {
font-size: 100%;
font-family: "Calibri", Arial, sans-serif;
color: black;
text-align: center;
overflow: hidden;
}
.page {
display: block;
text-align: left;
width: 100%;
height: 100%;
position: relative;
overflow: hidden;
}
.page .canvas {
display: block;
text-align: left;
width: 100%;
height: 100%;
position: absolute;
overflow: hidden;
top: 0;
left: 0;
}
.page .canvas .TimeLineContainer {
display:block;
width:100%;
height:150px;
text-align: center;
overflow: hidden;
}
.page .canvas .TimelineContent {
display: block;
width:90%;
margin: 0 auto;
height:150px;
position: relative;
background-image: url(../img/middleTop.png);
background-repeat: repeat-x;
overflow: auto;
}
.page .canvas .TimeLineContainer .TimeLineContent:before {
position:absolute;
content:"";
top:0px;
left:-28px;
background-image: url (../img/cornerBL.png);
background-repeat: no-repeat;
display: block;
width: 28px;
height: 150px;
}
.page .canvas .TimeLineContainer .TimeLineContent:after {
position:absolute;
content:"";
top:0px;
right:-28px;
background-image: url (../img/cornerBR.png);
background-repeat: no-repeat;
display: block;
width: 28px;
height: 150px;
}
这些是我使用的图像:
cornerBL.png
middleTop.png
和CornerBR.png
我真的不知道为什么不显示前后图像。
这是一个JSfiddle:http://jsfiddle.net/VWhPY/
答案 0 :(得分:1)
尝试.page .canvas .TimeLineContainer .TimelineContent:after
(注意TimelineContent中的小写l。)
它仍然无法正常工作,但这就是它根本没有出现的原因。现在您可以继续调试。
另一个提示:在调试时在:before和:after元素上设置outline: thin solid red
,以便更好地查看它们的位置,而不会干扰它们的盒子模型。