问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

div+css 怎么让一个小div在另一个大div里面 垂直居中

发布网友 发布时间: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>
<head>
<title>淘宝 2faner</title>
<style type="text/css">
.big{
width: 800px;
height: 500px;
background: #333;
position: relative;
}
.small{
width: 400px;
height: 200px;
position: absolute;
left: 50%;
top: 50%;
margin-left:-200px; 
margin-top: -100px;
background: #fff;
}
</style>
</head>
<body>
<div class="big">
<div class="small">

</div>
</div>
</body>
</html>

热心网友 时间:2022-04-06 18:02

方法1:

.parent {
          width:800px;
          height:500px;
          border:2px solid #000;
          position:relative;
}
 .child {
            width:200px;
            height:200px;
            margin: auto;  
            position: absolute;  
            top: 0; left: 0; bottom: 0; right: 0; 
            background-color: red;
}

方法2:

.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;
        }



方法3:

.parent {
            width:800px;
            height:500px;
            border:2px solid #000;
            display:flex;
            justify-content:center;
            align-items:center;
        }
        .child {
            width:200px;
            height:200px;
            background-color: red;
        }



方法4:

.parent {
            width:800px;
            height:500px;
            border:2px solid #000;
            position:relative;
        }
        .child {
            width:300px;
            height:200px;
            margin:auto;
            position:absolute;/*设定水平和垂直偏移父元素的50%,
再根据实际长度将子元素上左挪回一半大小*/
            left:50%;
            top:50%;
            margin-left: -150px;
            margin-top:-100px;
            background-color: red;
        }

热心网友 时间:2022-04-06 20:10

如果说是div里面套着div的话,就可以直接设置外面的div的valign属性的值为middle。
valign 属性规定单元格中内容的垂直排列方式

热心网友 时间: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分别设置宽高;

大div{position:relative};
小div{position:absolute;top:50%;margin-top:-小div高度的一半px};
注意上面有个负号别丢了;
对这方面感兴趣可以去w3cschool学习。

热心网友 时间: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

两种方法
1 外div的高有定值,比如div高200 ,内div高100,那么通过 计算margin-top进行定位,(200-100)/2=50,则 margin-top:50px
2 外div的高不确定,采用决对定位,position 结合margin,这个方法比较复杂,要对 position margin有深刻理解才行,可以百度搜索一下,这里就不详述了

热心网友 时间:2022-04-07 11:00

div{
width: 100%;
height: 3rem;
border-bottom:solid 0.05rem green;
line-height: 3rem;
}
div img{
width: 3rem;
height: 2.5rem;
vertical-align:middle;
}
line-height别掉下否则不起作用

热心网友 时间:2022-04-07 14:48

上面方法很多,但是最好的最通用的一个就够了:

热心网友 时间:2022-04-07 18:52

提供一个截图供参考:

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
国外留学有用吗 花钱出国留学有用吗 !这叫什么号 百万医疗赔付后是否可以续保 前一年理赔过医疗险还能续保吗? 医疗住院险理赔后还能购买吗? 女生多大后可以不在长身高? 如何不用软件把手机投屏到电脑上手机屏幕怎样投放到电脑上 战时拒绝、故意延误军事订货罪既遂的处罚? 战时故意延误军事订货罪处罚标准 用ie浏览器和360浏览器均无法放大微博图片,无法播放视频.怎么办? 如何使文字在div中水平和垂直居中的css代码,&lt;div&gt;水平垂直居中&lt;/... 用我的360浏览器在新浪微博看不了视频,点网站链接也有问题 div,css里如何让一段文字上下高度居中。是好几行,不是一行。 我用360浏览器,新浪微博不能看视频,怎么办??? DIV中的字体上下居中对齐 CSS高度为auto的div中,内部div怎么上下居中 div+css在网页中怎么居中,要上下左右都居中的那种,不要那种jq,jsp写出 ... 如何实现div的上下左右都居中? Div 与 CSS 如何实现上下居中 CSS 一个DIV里面的文字如何上下左右居中显示? 苹果八快手pk怎么关对面声音 苹果手机都有什么小技巧? 证券公司星期六,星期天上班吗?办理开户吗? 证券公司通常上班时间,双休日有上班吗 兴业证券营业时间是几点,周末开户吗 证券公司星期六和星期天上班吗?上班时间具体是?? 证券公司几点开门营业时间? 证券公司营业时间 股市崩盘后,那原来的那些钱到哪里去了? 最近两天用360浏览器上新浪微博发现不能直接看视频,源地址看没有问题 用360浏览器看微博视频,拖动进度条居然会死机,怎么回事 遨游浏览器和360浏览器都不能看百度视频和微博里的视频,但IE浏览器可以,怎么解决呀? 电脑问题。网页用ie能打开,用360浏览器不能打开。网页也不能播放视频,但是微博页面上的视频能放 360浏览器在微博里看视频很卡 为什么360浏览器打不开微博 撞的车在4S店维修时间太长,一个半月了,该怎么办 360浏览器里新浪微博为什么打不开音悦台的视频其他浏览器都打得开 续保押金强制车主购买全损换新是否违法? 唯物主义与唯心主义等等有哪些知识点需要背? 唯物论包括哪些知识点,辩证法包括什么之 辩证唯物主义有哪些内容?主要方面 唯物主义有哪些知识点? 辩证唯物论包括哪些知识点 高三政治哲学辩证唯物主义知识点 辩证唯物主义哲学包括哪些部分 梦见有人个我做了一碗鸡蛋挂面,端来让我吃,怎么回事啊 谢谢 早餐摆摊木桶蒸糯米饭 学糯米饭做法技术培训多少钱早餐摆摊木桶蒸糯 梦见吃鸡蛋面是什么寓意?