- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想知道当我在元素上使用 position: absolute
属性时,边距和定位属性之间是否有任何区别。
我知道元素相对定位时差别很大,但是当元素绝对定位时脱离层次似乎没有差别。
我尝试创建几个元素、div、段落、标题并相对和绝对定位它们。然后我添加了边距和“顶部、底部等”。属性。
* {
margin: 0;
padding: 0;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
*, *::before, *::after {
box-sizing: border-box;
}
body {
background-color: #363636;
color: white;
font-family: Roboto, sans-serif;
font-size: 20px;
text-align: justify;
}
.wrapper {
width: 400px;
margin: auto;
position: relative;
}
.wrapper>* {
/* margin-top: 20px; */
}
.header {
color: cyan;
position: absolute;
margin-top: 20px;
/* top: 20px; */
}
.title {
color: red;
margin-top: 100px;
}
.lorem {
}
.footer {
margin-top: 40px;
}
<div class="wrapper">
<h1 class="header">Lorem ipsum dolor sit amet.</h1>
<h2 class="title">Lorem, ipsum dolor.</h2>
<p class="lorem">Lorem ipsum dolor, sit amet consectetur adipisicing elit. Sapiente ab, cum, doloremque ratione quas officia placeat adipisci saepe hic similique perferendis voluptates molestiae ea id eius atque ipsum assumenda. Reprehenderit ullam nobis quis mollitia ab, nam eveniet ipsum in. Impedit ipsum odit quae facere! Voluptate illum, temporibus quasi natus repudiandae atque cupiditate laboriosam aliquam nostrum doloribus iste quibusdam commodi harum, earum ea doloremque! Eum temporibus commodi eaque aliquid ullam quod eius, praesentium dolores dicta! Aut eligendi repudiandae qui doloremque, id odit, nulla commodi quod quia molestiae blanditiis cum exercitationem atque eum maiores dolore quas rerum, laborum doloribus? Necessitatibus, facilis inventore.
</p>
<div class="footer">
<p class="info">E-mail address</p>
<p class="location">America</p>
</div>
</div>
这是我的codepen,我说的元素是h1.header。当我改变 margin-top: 20px
和 top: 20px
时,它看起来是一样的。
最佳答案
是的,特别是当绝对定位的元素不是它的 anchor 中的第一个元素时。你会注意到我唯一改变的是我添加了一个 <p>Some text</p>
在那里,现在 margin-top 和 top 以前的行为不那么相似。
可能还有其他规则也有不同的玩法。在某些情况下,利润率会崩溃。顶部永远不会“崩溃”。
* {
margin: 0;
padding: 0;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
*, *::before, *::after {
box-sizing: border-box;
}
body {
background-color: #363636;
color: white;
font-family: Roboto, sans-serif;
font-size: 20px;
text-align: justify;
}
.wrapper {
width: 400px;
margin: auto;
position: relative;
}
.wrapper>* {
/* margin-top: 20px; */
}
.header {
color: cyan;
position: absolute;
margin-top: 20px;
/* top: 20px; */
}
.title {
color: red;
margin-top: 100px;
}
.lorem {
}
.footer {
margin-top: 40px;
}
<div class="wrapper">
<p>Some text</p>
<h1 class="header">Lorem ipsum dolor sit amet.</h1>
<h2 class="title">Lorem, ipsum dolor.</h2>
<p class="lorem">Lorem ipsum dolor, sit amet consectetur adipisicing elit. Sapiente ab, cum, doloremque ratione quas officia placeat adipisci saepe hic similique perferendis voluptates molestiae ea id eius atque ipsum assumenda. Reprehenderit ullam nobis quis mollitia ab, nam eveniet ipsum in. Impedit ipsum odit quae facere! Voluptate illum, temporibus quasi natus repudiandae atque cupiditate laboriosam aliquam nostrum doloribus iste quibusdam commodi harum, earum ea doloremque! Eum temporibus commodi eaque aliquid ullam quod eius, praesentium dolores dicta! Aut eligendi repudiandae qui doloremque, id odit, nulla commodi quod quia molestiae blanditiis cum exercitationem atque eum maiores dolore quas rerum, laborum doloribus? Necessitatibus, facilis inventore.
</p>
<div class="footer">
<p class="info">E-mail address</p>
<p class="location">America</p>
</div>
</div>
关于css - 当元素绝对定位时, 'margin-top, -left, -bottom, -right' 和 'top, left, bottom, right' 属性之间有什么区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57929371/
IE 似乎在来自未压缩的 raphaeljs 1.4.7 的以下第 2207 行(当然,在我的代码的上下文中): gs.left != (t = left + "px") && (gs.left =
这是在操纵 $("#mydiv").position().left 还是 $("#mydiv").offset().left? $("#mydiv").animate({"left":"-100"},
这个问题在这里已经有了答案: why left+(right-left)/2 will not overflow? (7 个答案) 关闭 1 年前。 在二分搜索 while 循环中: left, r
这个问题在这里已经有了答案: why left+(right-left)/2 will not overflow? (7 个答案) 关闭 1 年前。 在二分搜索 while 循环中: left, r
我有一个 Segment 类和一个这样的段数组: private static class Segment { int number, type; Segment(in
我有一个查询,它在子选择上执行 LEFT JOIN。此查询在高负载环境中运行,并在设定的要求内执行。查询(高度简化)如下所示: SELECT table_A.pKey , table_A.uKey
我在 SO 中看到一些创建 multilanguage websites in JavaScript 的好建议包括 this article on JavaScript internationaliz
我已经使用它年了,所以是时候全面了解它了。假设这样的查询: SELECT * FROM a LEFT JOIN b ON foo... LEFT JOIN c ON bar... document
我正在尝试对搜索框执行以下 MySql 查询。我试图返回“专辑”信息(标题等),同时包含该专辑中第一张图片的缩略图。但是,我必须查找两个表才能获取图像信息。首先,photos_albums包含该相册中
我有 2 个表,我想 LEFT JOIN 并过滤 LEFT 表上的结果。这些表是: -product_table,包含列 id 和 product_name -order_table,包含列 id、p
我理解 Left Join 应该做什么吗? 我有一个问题。将其称为查询 A。它返回 19 条记录。 我有另一个查询,查询 B。它返回 1,400 条记录。 我将查询 B 作为左连接插入到查询 A 中,
我正在使用 left: auto;希望重写left: 0;但它不起作用(请参阅 jsfiddle )-我想要 居中对齐。 HTML:
为什么这不起作用?我已经分配了一堆带有 float:left 的 div,并希望设置第一个元素的位置,然后用它更新所有 sibling 的位置。 例如,我将第一个元素的 css 设置为 left:50
这应该是非常基本的 CSS,但无论我尝试什么,该死的 div 就是不会去它应该去的地方! 这是 HTML: Registe-se Nome:
我在一个 div 中嵌套了一个 div。我正在尝试显示一些文本并且有效。然而,我想要的是文本居中对齐,即它有一个 left: -50%。但它什么都不做。但是当我执行类似 left: 20px 的操作时
我有一个包含跟踪数据的表格。在其他值中,该表具有列 traffic_medium、traffic_source 和 traffic_campaign。这些列有时确实包含 (none) 或 null 作
我正在尝试 中的代码。 在 GHC 版本 6.10.4 上: data ParseState = ParseState { string :: String } deriving (Show) n
我在使用用于显示自定义配置文件字段和任何(可选)对应值的 SQL 查询时遇到问题。 这是我正在使用的 SQL 查询: SELECT pf.`id`, pf.`name`, pv.`value` FRO
我目前制作了一个包含侧边栏和内容的容器,但是当我向侧边栏添加的文本多于向容器添加的文本时,第二个侧边栏会稍微 float 到一边。这些是我正在使用的代码。 HTML: Pl
这个问题在这里已经有了答案: Difference between margin and padding? (25 个答案) 关闭 5 年前。
我是一名优秀的程序员,十分优秀!