当前位置: 首页 > 面试题库 >

CSS 100%高度,带填充/边距

翟嘉志
2023-03-14
问题内容

使用HTML / CSS,如何制作宽度和/或高度为其父元素的100%并且仍然具有适当的填充或边距的元素?

所谓“适当的”我的意思是,如果我的父元素是200px高大的,我指定height = 100%padding = 5px我所期望的,我应该得到一个190px高的元素与border = 5px所有各方,很好地集中在父元素。

现在,我知道这不是标准盒模型指定它应该工作的方式(尽管我想确切地知道为什么),所以显而易见的答案不起作用:

#myDiv {
    width: 100%
    height: 100%;
    padding: 5px;
}

但是在我看来,必须有某种方法可以可靠地为任意大小的父级产生这种效果。有人知道完成此任务(看似简单)的方法吗?

哦,根据记录,我对IE兼容性不是很感兴趣,因此(希望)可以使事情变得容易一些。

编辑: 由于要求一个示例,这是我能想到的最简单的示例:

<html style="height: 100%">
    <body style="height: 100%">
        <div style="background-color: black; height: 100%; padding: 25px"></div>
    </body>
</html>

然后面临的挑战是使黑框显示出来,在所有边缘上填充25个像素,而页面不会足够大以至于需要滚动条。


问题答案:

我阅读了“ [PRO HTML和CSS设计模式]”,了解了如何进行此类操作。该display:block是为默认显示的值div,但我喜欢,使其明确。容器必须是正确的类型;position属性是fixedrelative,或absolute

.stretchedToMargin {

  display: block;

  position:absolute;

  height:auto;

  bottom:0;

  top:0;

  left:0;

  right:0;

  margin-top:20px;

  margin-bottom:20px;

  margin-right:80px;

  margin-left:80px;

  background-color: green;

}


<div class="stretchedToMargin">

  Hello, world

</div>


 类似资料:
  • 问题内容: 如果我设置任何元素,然后将,,, 不是该元素的影响? 是否有必要使用或或使用,,,该元素吗? 问题答案: 有关完整说明,请参见CSS规范中的“ 内联格式设置上下文”。 基本上可以在行内元素上设置边距,内边距和边框,但是它们的行为可能不符合您的预期。如果只有一行,则该行为可能会很好,但是同一流中的其他行可能会表现出与您期望的行为不同的行为(即,将不考虑填充)。此外,如果内嵌框包含易碎元素

  • 问题内容: 我的HTML文档中有一个iframe,但遇到了一些麻烦。 我还在页面顶部有一个URL栏(固定位置元素),当用户滚动时,URL栏应随用户使用。很好 我希望iframe可以填充剩余空间,但不会被网址栏覆盖。 这就是我在说的。http://s75582.gridserver.com/Ls 如何解决此问题,以使URL栏不覆盖页面的一部分?当我尝试在主体中设置padding时,它只会创建一个额外

  • 以下是HTML: 包装器div具有css:position:relative;宽度:100%;身高:100%;高度:0;垫底:56.25%;溢出:隐藏; iframe具有CSS: 容器具有CSS: 我试图在窗口调整大小时保护iframe的16:9的纵横比,并保持它的最大高度为100%-67px calc(100%-67px)。我怎样才能同时做到这两件事呢?

  • 我需要用几个小部件填充一张卡片,其中一些需要填充全高,但不是全宽。卡片包含一行,可以将两个小部件相邻对齐,第一个小部件需要垂直填充父小部件(另一个小部件是扩展小部件,因此可以在高度上增长)。使容器立即显示的唯一方法是将其包装在SizedBox中,并将高度设置为特定值。当然,这不允许容器随着卡的高度而增长或收缩。 我尝试了IntrinsicHeight,expand,Row和crossaxisali

  • 2D 上下文的两种基本绘图操作是填充和描边。填充,就是用指定的样式(颜色、渐变或图像)填充图形;描边,就是只在图形的边缘画线。大多数2D 上下文操作都会细分为填充和描边两个操作,而 ① 假设你想在Firefox 3 中使用<canvas>元素。虽然浏览器会为该标签创建一个DOM 对象,而且也可以引用它,但这个对象中并没有getContext()方法。(据作者回复)操作的结果取决于两个属性:fill

  • 问题内容: +--------------------+ | | | | | | | | | 1 | | | | | | | | | +--------------------+ | | | | | | | | | 2 | | | | | | | | | +--------------------+ 如上所示的(1)的内容是未知的,因为它在动态生成的页面中可能会增加或减少。如上所示,第二个div(