请注意,所有红色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。即使窗体在运行时调整大小,此公式也应保持不变。