如何使用 CSS 在叠加层中获得 100% 的宽度
How to get width 100% right in overlay with CSS
我正在创建叠加层,但右侧的宽度不对。我哪里出错了?最后,我想要一些占屏幕 100% 宽度的按钮,减去一些边距。
body
{
width: 100%;
margin: 0px;
}
.a1
{
background-color: rgba(0, 0, 0, 0.7);
position: fixed;
width: 100%;
height: 100%;
z-index: 1;
}
.a2 {
width: 100%;
border: 5px solid blue;
}
<div class="a1">
<div class="a2">The width is going to far on the right</div>
</div>
您不需要在 child div a2
上指定 width: 100%
。作为块元素,它会自动填充parent元素的可用宽度,设置在100%
.
您的 a2
CSS 变为:
.a2 {
border: 5px solid blue;
}
通过这种方式,您的边距将得到尊重并按预期工作:
* {
box-sizing: border-box;
}
body
{
width: 100%;
margin: 0px;
}
.a1
{
background-color: rgba(0, 0, 0, 0.7);
position: fixed;
width: 100%;
height: 100%;
z-index: 1;
}
.a2 {
border: 5px solid blue;
}
<div class="a1">
<div class="a2">The width is going to far on the right</div>
</div>
以下关于元素大小的 OP 评论
我注意到您没有特别提到您使用 border-box
作为 box-sizing
方法。我现在已将其添加到代码段中。
使用 border-box
意味着当您指定框的大小时,您将包括该大小内的边框。
例如,如果宽度设置为 100%,则宽度为 100%包括元素上的任何边框。默认情况下,大多数规范化样式表将 box-sizing
设置为 border-box
。
我正在创建叠加层,但右侧的宽度不对。我哪里出错了?最后,我想要一些占屏幕 100% 宽度的按钮,减去一些边距。
body
{
width: 100%;
margin: 0px;
}
.a1
{
background-color: rgba(0, 0, 0, 0.7);
position: fixed;
width: 100%;
height: 100%;
z-index: 1;
}
.a2 {
width: 100%;
border: 5px solid blue;
}
<div class="a1">
<div class="a2">The width is going to far on the right</div>
</div>
您不需要在 child div a2
上指定 width: 100%
。作为块元素,它会自动填充parent元素的可用宽度,设置在100%
.
您的 a2
CSS 变为:
.a2 {
border: 5px solid blue;
}
通过这种方式,您的边距将得到尊重并按预期工作:
* {
box-sizing: border-box;
}
body
{
width: 100%;
margin: 0px;
}
.a1
{
background-color: rgba(0, 0, 0, 0.7);
position: fixed;
width: 100%;
height: 100%;
z-index: 1;
}
.a2 {
border: 5px solid blue;
}
<div class="a1">
<div class="a2">The width is going to far on the right</div>
</div>
以下关于元素大小的 OP 评论
我注意到您没有特别提到您使用 border-box
作为 box-sizing
方法。我现在已将其添加到代码段中。
使用 border-box
意味着当您指定框的大小时,您将包括该大小内的边框。
例如,如果宽度设置为 100%,则宽度为 100%包括元素上的任何边框。默认情况下,大多数规范化样式表将 box-sizing
设置为 border-box
。