我希望我的文章DIV的标题部分占据DIV的整个宽度并上升到顶部(如第二张图片)但由于DIV的填充而无法实现(见第2张图片) 。有解决方法吗?感谢
我想要实现的目标:
HTML:
<div class="article">
<div class="article-headline"><h1>Once upon a time</h1></div>
<h2>Sub-title</h2><p>Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae </p>
</div>
CSS:
.article {
clear: right;
float: right;
text-align:justify;
color:#000;
opacity:1;
width: 590px;
padding: 20px 32px 25px 50px;
position: relative;
z-index: 15;
margin-top: 136px;
/* background: #3B5898; */
box-shadow:-2px 0 5px 0 rgba(0, 0, 0, 0.5);
overflow: visible;
margin-right: 50px;
/* background-image: url("../images/pagetile.png"); */
background: #FFF;
bottom:60px;
/* box-shadow: 0 1px 5px rgba(0,0,0,0.25), 0 0 20px rgba(0,0,0,0.1) inset;
border-radius: 1% 1% 1% 1% / 1% 1% 1% 1%; */
}
.article p {
padding-right:20px;
color: #333;
}
.article-headline {
background:#03F;
color: #fff;
border-right:40px;
border-right-color:#3F3;
}
.article h1, .article h2 {
margin-top: -4px;
padding-bottom: 2px;
}
答案 0 :(得分:1)
你的文章包含位置相对,所以位置绝对会与容器相关。
.article-headline {
position:absolute;
top: 0px;
left: 0px;
width:100%
}
工作jsFiddle: http://jsfiddle.net/ph2yq/11/
http://www.developerfusion.com/code/5405/css-positioning-within-a-container/
答案 1 :(得分:1)
您可能需要调整一些填充,但这应该让您开始。我给标题position:absolute
并调整了左上角和右上角以摆脱边界。
答案 2 :(得分:1)
只需使用margin
中的否定padding
和.article-headline
:
.article-headline {
background:#03F;
color: #fff;
border-right:40px;
border-right-color:#3F3;
margin: -20px -32px 10px -50px; // this is relative to .article padding
padding: 5px 40px 0; // this is relative to this margin
}
答案 3 :(得分:1)
对不起,不得不清理一下才明白:
HTML:
<div class="article">
<div class="article-headline"><h1>Once upon a time</h1></div>
<div class="article-body">
<h2>Sub-title</h2>Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae
</div>
</div>
CSS:
.article-body {
padding: 20px 32px 25px 50px;
margin-right: 50px;
}
.article {
text-align:justify;
color:#000;
opacity:1;
width: 590px;
z-index: 15;
box-shadow:-2px 0 5px 0 rgba(0, 0, 0, 0.5);
overflow: visible;
background: #FFF;
}
.article p {
padding-right:20px;
color: #333;
}
.article-headline {
background:#03F;
color: #fff;
border-right:40px;
border-right-color:#3F3;
padding-left:30px;
}
.article-headline h1, .article h2 {
margin-top: -4px;
padding-bottom: 2px;
}
答案 4 :(得分:0)
新CSS:
.article-headline {
background:#03F;
color: #fff;
border-right:40px;
border-right-color:#3F3;
margin: -20px 0 0 -50px;
width: 662px;
padding: 10px 0 0 10px;
}