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

顶部填充百分比与父母的宽度有何关系?

田信然
2023-03-14
问题内容

请注意,所有红色div都是一样的height并具有padding-top:100%;,但它们的A和B具有不同的填充大小…并且看起来 父级
宽度会 更改此值(请注意C会更改height父级的,但不会请勿更改填充)。

为什么填充以这种方式与宽度相关?

编辑:出于历史原因,万一jsfiddle消失了,我在示例中使用的代码如下…

.outer {

  background-color: green;

  height: 300px;

  width: 70px;

  float: left;

  margin-right: 10px;

}



.middle {

  background-color: red;

  height: 100px;

  width: 50px;

  padding-top: 100%;

}



.inner {

  background-color: blue;

  height: 3px;

  width: 100%;

}


<div class='outer'>

  <div class='middle'>

    A

    <div class='inner'>

    </div>

  </div>

</div>



<div class='outer' style='width:100px'>

  <div class='middle'>

    B

    <div class='inner'>

    </div>

  </div>

</div>



<div class='outer' style='height:400px'>

  <div class='middle'>

    C

    <div class='inner'>

    </div>

  </div>

</div>

问题答案:

从CSS流畅的布局来看:当容器宽度增加时,基于百分比的边距顶部会增加:

在CSS中,所有四个margin:和padding:百分比都是相对于宽度的,尽管这似乎很荒谬。这就是CSS规范的方式,对此您无能为力。

'padding-top', 'padding-right', 'padding-bottom', 'padding-left'
Value:      <padding-width> | inherit
Initial:    0
Applies to:     all elements except table-row-group, table-header-group, table-footer-group, table-row, table-column-group and table-column
Inherited:      no
Percentages:    refer to width of containing block
Media:      visual
Computed value:     the percentage as specified or the absolute length

百分比:指包含块的宽度



 类似资料:
  • 问题内容: HTML CSS 在上面的示例中,其padding-top为。该值应基于父元素的()高度进行计算,这意味着它应显示为。而是显示为。这是怎么回事? 问题答案: 规格说明了原因。 相对于生成的框的包含块的 宽度 计算百分比 400的50%是200。

  • 问题内容: 我一直在绞尽脑汁使用以下命令在CSS中创建垂直对齐方式 尽管这似乎适用于这种情况,但令我感到惊讶的是,当我增加或减小基本div的宽度时,垂直对齐方式会对齐。我期望当我设置padding- top属性时,会将填充值作为父容器高度的百分比(在我们的示例中为基数),但是上述50%的值是按宽度。:( 有没有一种方法可以将填充和/或边距设置为高度的百分比,而无需使用JavaScript? 问题答

  • 问题内容: 简而言之,我正在尝试计算其父本拥有的一棵树的根的百分比,并进一步计算该树的根。我该如何单独在SQL中执行此操作? 这是我的(样本)模式。请注意,尽管层次结构本身非常简单,但是还有一个附加的,这意味着单亲可以“拥有”其孩子的不同部分。 以及一些样本数据: SQL小提琴 以下查询返回我要进行的计算。由于SYS_CONNECT_BY_PATH的性质,据我所知,它本身无法执行计算。 数据中存在

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

  • 我有一个带有listview的片段,它的适配器包含两种类型的单元格(取决于位置)。 列表中的第一个单元格应该是自定义视图(按钮,ViewPager,CirclePageSignator),第一个单元格宽度match_parent 第二个单元格也是自定义视图,其中包含按钮和图像视图。 我的问题是,当我放置ViewPager时,在第一个单元格中看不到ViewPager。宽度以包装内容或填充父对象或匹配

  • 我想使用FXML在JavaFX中创建一个包含3列的GridPane。中柱上有一个大标签。中间列采用标签的宽度。左栏和右栏各占表单剩余宽度的一半(50%)。我尝试将百分之五十的宽度设置为左栏和右栏。但是,宽度设置为整个形状的50%,而不是剩余宽度。例如,表单的宽度为1000px。中柱可能需要400px,而左柱和右柱各自需要300px。即使窗体在运行时调整大小,此公式也应保持不变。