- objective-c - iOS 5 : Can you override UIAppearance customisations in specific classes?
- iphone - 如何将 CGFontRef 转换为 UIFont?
- ios - 以编程方式关闭标记的信息窗口 google maps iOS
- ios - Xcode 5 - 尝试验证存档时出现 "No application records were found"
我正在阅读此 site 中的指南关于居中元素的技术。
我阅读了CSS代码,
.Absolute-Center {
margin: auto;
position: absolute;
top: 0; left: 0; bottom: 0; right: 0;
}
我也看了解释。
但是我不明白的是解释“top: 0; left: 0; bottom: 0; right: 0;”的部分。
它说,
Setting top: 0; left: 0; bottom: 0; right: 0; gives the browser a new bounding box for the block. At this point the block will fill all available space in its offset parent, which is the body or position: relative; container. Developer.mozilla.org: For absolutely positioned elements, the top, right, bottom, and left properties specify offsets from the edge of the element’s containing block (what the element is positioned relative to).
这是什么意思?边界框?填满所有可用空间?
如何“上:0;左:0;下:0;右:0;”工作?它是否需要一个盒子的 4 个边并拉伸(stretch)它们以填充容器?值(value)观是这样运作的吗?
当我设置“top: 0; left: 0; bottom: 0; right: 0;”时实际发生了什么?
我完全迷失在这个解释中,我希望有人以更简单易懂的方式重新措辞、重申并向我解释。
谢谢。
最佳答案
当您在 处使用 left
和 right
(或 top
和 bottom
)时会发生什么同样时间令人困惑,因为规范[6.3. Absolute positioning ] 告诉我们:
For absolutely positioned elements whose containing block is based ona block-level element, this property is an offset from the paddingedge of that element.
那么设置position 会如何影响元素的大小?原因源于宽度的计算方式,这隐藏在规范的另一部分中,[8.1. The width of absolute or fixed positioned, non-replaced elements] .
如果您同时指定了 left
和 right
并且您的元素的 width
不是 auto
,那么你说的真的没有意义,right
被忽略(所有语句同样适用于 top/bottom/height):
If none of left/right/width is auto...the values are over-constrained, ignorethe value for left (in case the direction property of the containingblock is rtl) or right (in case direction is ltr) and solve for thatvalue.
但是,如果您的元素没有设置宽度,或者宽度是(默认)auto
,则此规则生效:
If width is auto, left and right are not auto, then solve for width.
最后,确定这些元素的值的公式是:
'left' + 'margin-left' + 'border-left-width' + 'padding-left' +'width' + 'padding-right' + 'border-right-width' + 'margin-right' +'right' = width of containing block
我们可以清楚地看到,在插入我们的 left
和 right
以及其他值之后,width
是 Unresolved (且不受约束的)变量,结果将是 包含框的宽度 - 左 - 右
(或多或少)或换句话说:“填充偏移量之间的空间”。
关于html - "top: 0; left: 0; bottom: 0; right: 0;"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28080910/
我有一个 Segment 类和一个这样的段数组: private static class Segment { int number, type; Segment(in
我在 SO 中看到一些创建 multilanguage websites in JavaScript 的好建议包括 this article on JavaScript internationaliz
我们有浏览器前缀或黑客 (for Google and Safari) text-align: -webkit-right; (for Firefox) text-align:
过去几天我一直在关注这个问题,我正处于需要寻求帮助的地步。 http://cub.northnodes.com/index.php/about/mission/ 我需要立即捐赠 列一直 float 到
When I press right ctrl, I want the right shift the text will align right. When I press left ctrl le
我已经将右侧的列拆分为顶部和底部。在每个部分中,我在执行以下操作时遇到问题:我希望顶部占据左列高度的 50%,底部占据左列高度的另外 50%。 +-------------------+-------
我知道这个问题的标题很糟糕。对不起。 我有四个 div similar to this .我想要做的只是让 div 编号 2 和 4 之间的垂直空间被删除,而不改变 HTML 的结构。是否可以仅使用
我将表格设置为 100% 宽度。我会添加一个带有 php 的随机 div,有时会充满广告。我希望广告 div 位于表格的右侧和内容。我希望表格位于左侧,但仍为 100% 左右,它将填充广告 div 左
这个问题在这里已经有了答案: Bootstrap align navbar items to the right (24 个答案) 关闭 5 年前。
.floatright { float: right;margin: 0 0 10px 10px;clear: right;width:60px; height:60px; } Lorem
我正在尝试将 td 中的某些内容右对齐。 align="right"有效,但 text-align:right 无效。这是一个 jsfiddle显示这两种情况的示例。除了右对齐右列外,这两种情况是相同
在设计网站时,您认为用于特定任务的最佳图像格式是什么? 在试图找出用于特定任务的格式时,我总是发现自己处于两难境地……例如,我应该全面使用 .jpg 吗?或者,我何时以及为什么应该使用 .png? 例
我是一个 MySQL 新手,今天我尝试设置一个超过 5 行的 MySQL 调用。我不断收到语法错误,我尝试修复了几个小时,但我不知道问题出在哪里。这是代码: USE myDatabase; DELIM
这让我发疯。我有一个 div float 到另一个 div 的右侧,如下所示: Current Membership: 我有以下 css 规则: div#container { f
我有以下代码片段,它会产生不需要的“填充”区域,而填充为零。如何避免这个区域? 代码 div.left { background-color: red; max-width: 25%; f
在 C++ 中,表达式 left() = right() 求值 right() left() 按那个顺序。 right() 先行,正如已讨论过的 here. 我想不出让 right() 先走的理由。你
我有一个很小的菜单列表,当鼠标靠近时它应该会增长。在其原始状态下,菜单是右对齐的,悬停时每第二个元素向右移动并左对齐以为增加的高度腾出空间(参见 JSFiddle )。 ul { font-siz
td.myclass{ width: 6em; text-align: right; padding-right: 2em; } 如您所见,我希望单元格中的文本右对齐,距离单元
你怎么能看到 http://jsfiddle.net/73wst/ 我想在停止下开始,但我不知道如何设置它的样式。 我的 HTML: Stop Start 我的 CSS: .sta
一个大的内部 div 在一个小的外部 div 中,并且外部 div 溢出自动。但是为什么没有内部 div margin-right 和外部 div padding-right? html
我是一名优秀的程序员,十分优秀!