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

如何将边距或填充设置为父容器的高度百分比?

厍兴腾
2023-03-14
问题内容

我一直在绞尽脑汁使用以下命令在CSS中创建垂直对齐方式

.base{

        background-color:green;

        width:200px;

        height:200px;

        overflow:auto;

        position:relative;

    }



    .vert-align{

        padding-top:50%;

        height:50%;

    }


<!-- and used the following div structure. -->



    <div class="base">

       <div class="vert-align">

           Content Here

       </div>

    </div>

尽管这似乎适用于这种情况,但令我感到惊讶的是,当我增加或减小基本div的宽度时,垂直对齐方式会对齐。我期望当我设置padding-
top属性时,会将填充值作为父容器高度的百分比(在我们的示例中为基数),但是上述50%的值是按宽度。:(

有没有一种方法可以将填充和/或边距设置为高度的百分比,而无需使用JavaScript?


问题答案:

解决方法是,是的,垂直填充和边距与宽度有关,而top与宽度bottom 无关。

因此,只需将div放置在另一个div内,然后在内部div中使用类似的命令即可top:50%(请记住,position如果它仍然无法正常工作)



 类似资料:
  • 问题内容: 使用HTML / CSS,如何制作宽度和/或高度为其父元素的100%并且仍然具有适当的填充或边距的元素? 所谓“适当的”我的意思是,如果我的父元素是高大的,我指定用我所期望的,我应该得到一个高的元素与所有各方,很好地集中在父元素。 现在,我知道这不是标准盒模型指定它应该工作的方式(尽管我想确切地知道为什么),所以显而易见的答案不起作用: 但是在我看来,必须有某种方法可以可靠地为任意大小

  • 我必须在我的项目中使用设计支持库的。我想在中的和之间留出空格。我在中设置了边距和填充,甚至在中也设置了边距和填充,但这两个都不起作用。这里我附上屏幕截图和我的编码。

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

  • 问题内容: 我想使一个组件占据Container的maximumAvailableHeight。例如,在下面粘贴的代码中,我将根框架定为800,600。我只想设置该框架的高度/宽度(并且我不想尝试对其子像素进行像素化)。如果运行此命令,则会看到UI对齐不良。 首先,我希望面板(位于根框架内)占据框架的100%的高度(在这种情况下,为800px减去用于绘制框架标题的空间)。 其次,在面板内部,我有一

  • 问题内容: 如果您查看CSS盒模型规范,将会观察到以下内容: [margin]百分比是相对于所生成的盒子的包含块的 宽度 来计算的。 请注意,“ margin-top”和“ margin- bottom”也是如此。 如果包含块的宽度取决于此元素,则结果布局在CSS 2.1中未定义。 (强调我的) 确实是这样。但是 为什么 呢?到底什么会迫使任何人以这种方式设计它?很容易想到您想要的场景,例如,某件

  • 我有两个div并排放在一个flexbox中。右手边的宽度应该总是一样的,我希望左手边的那个能抓住剩下的空间。但它不会,除非我特别设置它的宽度。 所以目前,它被设置为96%,看起来不错,直到你真的挤压屏幕——然后右手div有点缺乏它需要的空间。 我想我可以让它保持原样,但感觉不对——就像有一种方式可以说: 右边的总是一样的你在左边你得到了剩下的一切