margin,元素的外边距,规定了元素与元素之间的间距,一直以来都是这么用的
margin: 10px 20px 15px 30px; 定义上右下左的边距
margin:0 auto; 定义居中
直到最近发现它和width,height什么的属性一样,也可以设置百分比。那这个百分比是相对谁的呢?
<!doctype html> <html lang="en"> <head> <title>Document</title> <style> .container{ width: 500px; height: 300px; border: 1px solid red; margin: 30px auto; } .content{ width: 100px; height: 50px; border: 1px solid blue; } </style> </head> <body> <div class="container"> <div class="content"></div> </div> </body> </html>
效果如下
蓝色div没加margin属性,现在加上margin属性看看效果:margin-left: 50%;
显然左边距是父元素宽度的50%
现在尝试margin-top: 50%;
显然上边距的距离依然是父元素宽度的50%;
也就是说百分比是相对父元素的宽而言的,不管水平方向还是垂直方向。
那如何让其相对父元素的高度来计算呢
给父元素加上 -webkit-writing-mode: vertical-lr;更改其书写方向,关于writing-mode的用法,这里不作叙述,有兴趣参照css参考手册中 “属性” -> “书写模式”
明显,此时百分比是按照父元素高度来计算的,只是此时父元素的书写模式已改为竖直方向。
相关推荐
在绝对定位元素中,如果父元素设置了relative、absolute或者fixed定位方式,则该绝对定位元素的margin百分比值是依据父元素的宽度计算的;如果父元素没有设置相对定位,则margin百分比值是依据整个页面的宽度计算。 ...
问题:若两个内层盒子宽度设定为50%,则加上间隔15px会超出父容器就会自动换行;若两个内层盒子宽度设定为小于50%,则... margin: 0; padding: 0; font-family: arial; color: #777; } .cont
2. 绝对定位元素的百分比margin值:绝对定位的元素的margin值是相对于第一个定位的祖先元素的宽度进行计算的。举个例子,如果祖先元素的宽度为1000px,并且绝对定位的子元素设置了margin为10%,那么该子元素的外边距...
- `margin`的值可以为像素、百分比或其他单位。 - 如果希望元素之间的距离相等,可以使用相同的`margin`值。 - 在某些情况下,`margin`会发生**合并**(Collapsing Margins),即两个相邻元素的`margin`会合并成一...
总结来说,了解并正确使用CSS中margin百分比的计算方式,能够帮助我们更好地控制页面布局,特别是在响应式设计中,这种基于百分比的弹性布局方法是非常有用的。通过上述示例,我们可以看到在不同情况下,如何根据父...
它可以单独设置每个方向的值,如`margin-top`、`margin-right`、`margin-bottom`和`margin-left`,也可以使用简写形式`margin`一次性设置所有方向的外边距。例如,`margin: 10px 20px 30px 40px;`表示上边距10px,...
`margin`还可以接受百分比值,但请注意,这里的百分比是相对于包含元素的宽度计算的,而不是元素自身的宽度。这意味着,对于左右外边距,百分比值是基于父元素的宽度;而对于上下外边距,由于CSS盒模型的特性,...
百分比数值也是margin属性的可接受值,不过百分比值是相对于包含块的宽度计算的,因此设置时需要考虑父元素的尺寸。例如,“margin: 10%;”表示外边距为父元素宽度的10%。 需要注意的是,margin属性的默认值是0,这...
在CSS中,margin可以通过单独的属性设置,如`margin-top`、`margin-right`、`margin-bottom`和`margin-left`,或者使用简写的`margin`属性一次性设置所有方向的外边距。例如,`margin: 10px 20px 30px 40px;`表示...
margin的值可以是长度值(如px,em等)、百分比或者auto。当使用auto值时,通常用于水平居中布局。 在使用margin属性时,可以单独设置上、右、下、左四个方向的边距,分别用margin-top、margin-right、margin-...
值得注意的是,对于垂直方向的百分比`margin`,其计算基础是包含块的高度。而`margin`的默认值是`0`,并且支持负值,负值`margin`可以用来重叠元素或创建复杂的布局效果。 在实际使用中,`margin`属性可以采用简写...
它可以以条形或圆形的形式展示进度,并且可以与数值绑定,显示百分比形式的进度。本教程将详细介绍如何在WPF中创建一个具有自定义颜色、背景和百分比显示功能的进度条。 首先,我们需要在XAML布局文件中声明...
当我们设置`margin`的百分比值时,这个百分比是相对于父元素内容盒的宽度计算的,而不仅仅是水平方向。这意味着,即使父元素的宽度和高度不相等,只要子元素的`margin`左右和上下都设置为相同的百分比,它们在实际...
2. **负margin**:通过设置负的margin值,元素可以超出其正常边界,从而与其他元素产生重叠或创建间距。例如,使用负margin可以使li元素之间的距离变小,实现多列效果。 3. **li元素的多列布局**:利用CSS的float...
`margin`用于设置元素四周的外边距,它包括`margin-top`、`margin-bottom`、`margin-left`和`margin-right`四个子属性,分别用于设置上、下、左、右四个方向的边距。此外,`margin`还可以作为一个简写属性,一次性...
然而,这种基本的实现并不支持所有的属性,如margin的百分比设置。 描述中提到的开源扩展版百分比布局增加了对margin的支持,这意味着开发者现在可以为子视图指定基于父布局的百分比边距,这在创建响应式界面时特别...
首先,"mark-up"(毛利)是指在产品成本基础上增加的金额,通常以成本的百分比表示。例如,如果一个产品的成本是100元,20%的mark-up意味着商家会在成本上加价20元,销售价格就变成了120元。Mark-up直接反映了商家...
- **百分比值**:`padding`和`margin`可以使用百分比值,相对于父元素的宽度(对于`margin`,在大多数情况下是这样),这在响应式设计中非常有用。 - **自动值**:`margin`和`padding`可以设置为`auto`,这通常用于...