`
leeqq
  • 浏览: 138251 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

margin设置百分比

    博客分类:
  • web
阅读更多

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参考手册中 “属性” -> “书写模式”

 明显,此时百分比是按照父元素高度来计算的,只是此时父元素的书写模式已改为竖直方向。

 


 

  • 大小: 701 Bytes
  • 大小: 615 Bytes
  • 大小: 796 Bytes
  • 大小: 608 Bytes
分享到:
评论

相关推荐

    CSS重要属性之 margin 属性知识大整合(必看篇)

    在绝对定位元素中,如果父元素设置了relative、absolute或者fixed定位方式,则该绝对定位元素的margin百分比值是依据父元素的宽度计算的;如果父元素没有设置相对定位,则margin百分比值是依据整个页面的宽度计算。 ...

    float元素设置百分比宽和margin自动换行问题

    问题:若两个内层盒子宽度设定为50%,则加上间隔15px会超出父容器就会自动换行;若两个内层盒子宽度设定为小于50%,则... margin: 0; padding: 0; font-family: arial; color: #777; } .cont

    CSS 之margin知识点(必看)

    2. 绝对定位元素的百分比margin值:绝对定位的元素的margin值是相对于第一个定位的祖先元素的宽度进行计算的。举个例子,如果祖先元素的宽度为1000px,并且绝对定位的子元素设置了margin为10%,那么该子元素的外边距...

    css中padding、margin两个重要属性的详细介绍及举例说明

    - `margin`的值可以为像素、百分比或其他单位。 - 如果希望元素之间的距离相等,可以使用相同的`margin`值。 - 在某些情况下,`margin`会发生**合并**(Collapsing Margins),即两个相邻元素的`margin`会合并成一...

    很少朋友知道的margin 百分比是按参照物来计算的

    总结来说,了解并正确使用CSS中margin百分比的计算方式,能够帮助我们更好地控制页面布局,特别是在响应式设计中,这种基于百分比的弹性布局方法是非常有用的。通过上述示例,我们可以看到在不同情况下,如何根据父...

    css中margin属性详细分析 (2).pdf

    它可以单独设置每个方向的值,如`margin-top`、`margin-right`、`margin-bottom`和`margin-left`,也可以使用简写形式`margin`一次性设置所有方向的外边距。例如,`margin: 10px 20px 30px 40px;`表示上边距10px,...

    margin(CSS语法)-.rar

    `margin`还可以接受百分比值,但请注意,这里的百分比是相对于包含元素的宽度计算的,而不是元素自身的宽度。这意味着,对于左右外边距,百分比值是基于父元素的宽度;而对于上下外边距,由于CSS盒模型的特性,...

    css margin 属性 详细使用说明

    百分比数值也是margin属性的可接受值,不过百分比值是相对于包含块的宽度计算的,因此设置时需要考虑父元素的尺寸。例如,“margin: 10%;”表示外边距为父元素宽度的10%。 需要注意的是,margin属性的默认值是0,这...

    css中margin属性详细分析.pdf

    在CSS中,margin可以通过单独的属性设置,如`margin-top`、`margin-right`、`margin-bottom`和`margin-left`,或者使用简写的`margin`属性一次性设置所有方向的外边距。例如,`margin: 10px 20px 30px 40px;`表示...

    你真的了解margin吗?你知道margin有什么特性吗?

    margin的值可以是长度值(如px,em等)、百分比或者auto。当使用auto值时,通常用于水平居中布局。 在使用margin属性时,可以单独设置上、右、下、左四个方向的边距,分别用margin-top、margin-right、margin-...

    margin属性[参照].pdf

    值得注意的是,对于垂直方向的百分比`margin`,其计算基础是包含块的高度。而`margin`的默认值是`0`,并且支持负值,负值`margin`可以用来重叠元素或创建复杂的布局效果。 在实际使用中,`margin`属性可以采用简写...

    WPF百分比进度条

    它可以以条形或圆形的形式展示进度,并且可以与数值绑定,显示百分比形式的进度。本教程将详细介绍如何在WPF中创建一个具有自定义颜色、背景和百分比显示功能的进度条。 首先,我们需要在XAML布局文件中声明...

    细说CSS中margin属性的使用

    当我们设置`margin`的百分比值时,这个百分比是相对于父元素内容盒的宽度计算的,而不仅仅是水平方向。这意味着,即使父元素的宽度和高度不相等,只要子元素的`margin`左右和上下都设置为相同的百分比,它们在实际...

    li 自适应,栏目分割(负margin,兼容所有浏览器)

    2. **负margin**:通过设置负的margin值,元素可以超出其正常边界,从而与其他元素产生重叠或创建间距。例如,使用负margin可以使li元素之间的距离变小,实现多列效果。 3. **li元素的多列布局**:利用CSS的float...

    XML应用开发(软件品牌)-1期 4.9 案例分析-使用CSS容器属性显示XML文档-边距属性margin和补白属性paddin

    `margin`用于设置元素四周的外边距,它包括`margin-top`、`margin-bottom`、`margin-left`和`margin-right`四个子属性,分别用于设置上、下、左、右四个方向的边距。此外,`margin`还可以作为一个简写属性,一次性...

    扩展Android百分比布局

    然而,这种基本的实现并不支持所有的属性,如margin的百分比设置。 描述中提到的开源扩展版百分比布局增加了对margin的支持,这意味着开发者现在可以为子视图指定基于父布局的百分比边距,这在创建响应式界面时特别...

    mark-up、margin和profit的区别

    首先,"mark-up"(毛利)是指在产品成本基础上增加的金额,通常以成本的百分比表示。例如,如果一个产品的成本是100元,20%的mark-up意味着商家会在成本上加价20元,销售价格就变成了120元。Mark-up直接反映了商家...

    盒模型的介绍,以及margin(外边距)padding(内边距)的使用.zip

    - **百分比值**:`padding`和`margin`可以使用百分比值,相对于父元素的宽度(对于`margin`,在大多数情况下是这样),这在响应式设计中非常有用。 - **自动值**:`margin`和`padding`可以设置为`auto`,这通常用于...

Global site tag (gtag.js) - Google Analytics