我正在为CSS练习复制这个Gensis主题:http://my.studiopress.com/themes/daily-dish/#demo-full
我现在遇到了一个问题,因为其中一个黑盒子超过了它的父盒子。 导致此问题的属性是以下代码
.heading{
padding-left: 2em;
然而我想要这个填充。如何让黑色背景停在父框的末尾(id ='right_1')并保持左边的填充? *当您运行代码段以查看问题时,您必须向右滚动
*{
margin: 0 auto;
}
body{
margin: 0 auto;
background-image: url('background.png');
}
.heading{
padding-left: 2em;
border: 1px solid green;
font-size: 1em;
display: flex;
width: 100%;
align-items: center;
color: white;
background-color: black;
height: 40px;
}
header{
padding: 70px;
display: flex;
flex-direction: column;
align-items: center;
}
#wrapper{
border: 1px solid lightgrey;
padding-left: 40px;
padding-right: 40px;
margin: auto;
width: 960px;
height: 2000px;
background: white;
}
main{
display: flex;
border: 1px solid red;
}
.blackbox{
}
#left {
width: 100%;
display: flex;
height: 1000px;
border: 1px solid black;
}
#left_1{
display: flex;
width: 100%;
}
#right {
margin-left: 5%;
width: 30%;
display: flex;
border: 1px solid black;
}
#right_1{
width: 100%;
}
<main>
<section id='left'>
<section id='left_1'>
<h2 class='heading'>Featured Dish</h2>
</section>
</section>
<aside id='right'>
<aside id='right_1'>
<h2 class='heading'>About the Author</h2>
</aside>
</aside>
</main>
</div>
答案 0 :(得分:2)
您可以将box-sizing:border-box
添加到.heading
元素。
这种宽度和高度属性包括填充。
CSS将是:
.heading {
padding-left: 2em;
border: 1px solid green;
font-size: 1em;
display: flex;
width: 100%;
align-items: center;
color: white;
background-color: black;
height: 40px;
box-sizing: border-box; // Add box-sizing: border-box
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
}
希望这会有所帮助:)
答案 1 :(得分:1)
您可以通过box-sizing: border-box;
尝试以下CSS
*{
box-sizing: border-box;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
}
<强> JSFIDDLE DEMO 强>
<强> Read more about box-sizing 强>