发布网友 发布时间:2022-04-25 16:13
共12个回答
热心网友 时间:2022-04-06 13:18
方法一、小div绝对定位或相对定位,这样小div脱离标准流,大div有固定宽高,用小div的margin去挤大div
<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title>Title</title><style>
.father{
width: 600px;
height: 600px;
background-color: orangered;
}
.son{
width: 300px;
height: 200px;
background-color: lawngreen;
position: absolute;
margin: 200px 150px;
}
</style></head><body><div><div></div></div></body></html>
注意:如果小div没有绝对定位或相对定位,且大div没有border,那么小div的margin实际上踹的是“流”,踹的是这“行”。如果用margin-top,大div整体也掉下来了。如下:
方法二、如果给大div加一个border,使大div,小div都不定位,用小div的margin去挤大div,实现小div居中。
<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title>Title</title><style>
.father{
width: 600px;
height: 600px;
background-color: orangered;
border: 1px solid white;
}
.son{
width: 300px;
height: 200px;
background-color: lawngreen;
margin: 200px 150px;
}
</style></head><body><div><div></div></div></body></html>
显示结果如下:
方法三、小div绝对定位,大div相对定位,定位到大盒子的宽高一半的位置,再上下各margin负的自己宽高的一半
<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title>Title</title><style>
.father{
width: 600px;
height: 600px;
background-color: orangered;
position: relative;
}
.son{
width: 300px;
height: 200px;
background-color: lawngreen;
position: absolute;
top: 50%;
left: 50%;
margin-top: -100px;
margin-left: -150px;
}
</style></head><body><div><div></div></div></body>
</html>
显示结果如下:
扩展资料:
一个绝对定位的元素,如果父辈元素中出现了也定位了的元素,那么将以父辈这个元素,为参考点。工程上,“子绝父相”有意义,父亲元素没有脱标,儿子元素脱标在父亲元素的范围里面移动。
绝对定位之后,所有标准流的规则,都不适用了。所以margin:0 auto;失效。
display:inline和display:inline-block,会使margin:0 auto;失效。
固定宽度的盒子才能使用margin:0 auto;居中
热心网友 时间:2022-04-06 14:36
实现原理是设置margin自动适应,然后设置定位的上下左右都为0。
就如四边均衡受力从而实现盒子的居中:
代码:
.parent {
width:800px;
height:500px;
border:2px solid #000;
display:table-cell;
vertical-align:middle;
text-align: center;
}
.child {
width:200px;
height:200px;
display:inline-block;
background-color: red;
}
扩展资料
div+css绝对定位
使用通常是父级定义position:relative定位
子级定义position:absolute绝对定位属性,并且子级使用left或right和top或bottom进行绝对定位。
.divcss5{position:relative} 定义,通常最好再定义CSS宽度和CSS高度
.divcss5-a{position:absolute;left:10px;top:10px} 这里定义了距离父级左侧距离间距为10px,距离父级上边距离为10px
参考资料
百度百科-div css
热心网友 时间:2022-04-06 16:10
小div在大div中居中可以设置合适的padding 或margin值,尺寸计算对了就好
当然如果尺寸不方便计算的话那就使用定位属性,小的div在大的div中分别绝对定位为:left:50%;top:50%,然后再添加margin-left\top属性,值为负的小div的宽高的一半~
简单代码如下:
<html>
热心网友 时间:2022-04-06 18:02
方法1:
方法2:
方法3:
方法4:
热心网友 时间:2022-04-06 20:10
如果说是div里面套着div的话,就可以直接设置外面的div的valign属性的值为middle。热心网友 时间:2022-04-06 22:34
方法一,小div在大div中居中可以设置合适的padding 或margin值
方法二,使用定位属性,小的div在大的div中分别绝对定位为:left:50%;top:50%,然后再添加margin-left\top属性,值为负的小div的宽高的一半~
热心网友 时间:2022-04-07 01:16
大小div分别设置宽高;热心网友 时间:2022-04-07 04:14
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<style >
.a1{
width: 100px;
height: 100px;
background-color: red;
}
.a2{
margin: auto;
width: 50px;
height: 50px;
background-color: blueviolet;
}
</style>
</head>
<body>
<div class="a1">q
<div class="a2">q</div>
</div>
</body>
</html>
使用 margin: auto;
热心网友 时间:2022-04-07 07:28
两种方法热心网友 时间:2022-04-07 11:00
div{热心网友 时间:2022-04-07 14:48
上面方法很多,但是最好的最通用的一个就够了:
热心网友 时间:2022-04-07 18:52
提供一个截图供参考: