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

在css中如何定义一个表格按照浏览器的大小自动调整上下居中?

发布网友 发布时间:2022-04-06 13:13

我来回答

2个回答

懂视网 时间:2022-04-06 17:34

css里上下居中也就是垂直居中,css中按元素可以分为三种垂直居中方式,分别是单行的行内元素,多行的行内元素以及块元素的垂直居中,下面将做详细介绍。

单行的行内元素

只需要设置单行行内元素的"行高等于盒子的高"即可;

<style>
 #father {
 width: 500px;
 height: 300px;
 background-color: skyblue;
 }
 
 #son {
 background-color: green;
 height: 300px;
 }
</style>
 
<div id="father">
 <span id="son">我是单行的行内元素</span>
</div>

效果:

1556519521438598.jpg

多行的行内元素

使用给父元素设置display:table-cell;和vertical-align: middle;即可;

<style>
 #father {
 width: 500px;
 height: 300px;
 background-color: skyblue;
 display: table-cell;
 vertical-align:middle;
 }
 
 #son {
 background-color: green;
 }
</style>
 
<div id="father">

<span id="son">我是多行的行内元素我是多行的行内元素我是多行的行内元素我是多行的行内元素我是多行的行内元素我是多行的行内元素我是多行的行内元素我是多行的行内元素</span>

</div>

效果:

1556519558892168.jpg

块级元素

方案一:使用定位

首先设置父元素为相对定位,再设置子元素为绝对定位,设置子元素的top: 50%,即让子元素的左上角垂直居中;

定高度:设置绝对子元素的 margin-top: -元素高度的一半px; 或者设置transform: translateY(-50%);

<style>
 #father {
 width: 500px;
 height: 300px;
 background-color: skyblue;
 position: relative;
}
 
 #son {
 height: 100px;
 background-color: green;
 position: absolute;
 top: 50%;
 margin-top: -50px;
}
</style>
 
<div id="father">
 <div id="son">我是块级元素</div>
</div>

不定高度:利用css3新增属性transform: translateY(-50%);

<style>
 #father {
 width: 500px;
 height: 300px;
 background-color: skyblue;
 position: relative;
}
 
 #son {
 width: 100px;
 background-color: green;
 position: absolute;
 left: 50%;
 transform: translateY(-50%);
}
</style>
 
<div id="father">
 <div id="son">我是块级元素</div>
</div>

效果:

1556519576485117.jpg

方案二:使用flexbox布局实现(高度定不定都可以)

使用flexbox布局,只需要给待处理的块状元素的父元素添加属性 display: flex; align-items: center;

<style>
 #father {
 width: 500px;
 height: 300px;
 background-color: skyblue;
 display: flex;
 align-items: center;
 }
 
 #son {
 width: 100px;
 height: 100px;
 background-color: green;
 }
</style>
 
<div id="father">
 <div id="son">我是块级元素</div>
</div>

效果:

1556519592845736.jpg

相关教程:CSS视频教程

热心网友 时间:2022-04-06 14:42

上下居中本身CSS没有这个属性
你可以用JS来
动态
调整TOP
还有一种方法就是
你在外面用一个
表格
套上
在在TD里面放一个表格
把TD的属性设置为上下居中
*(好像默认就是)
这样就上下居中了
上面这个方法有点鸡肋
你选择下吧

还有一种但是他不支持IE8
以下

浏览器
就是把DIV的DISPLAY属性设置为TD的
这样就可以像调整TD一样来调整DIV了
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
临沂比较有名的男装品牌 呼伦贝尔市悦动网络科技有限公司怎么样? 呼伦贝尔中汇实业有限公司怎么样? 呼伦贝尔油玉不绝电子商务有限公司怎么样? 如何避免wps卡顿? 属鼠的男人找对象是属什么,属鼠的人和什么属相合 96年鼠的姻缘在哪年 属相相合年份运势提升 2024属鼠找对象属什么最佳 黑客攻击网站能报案吗 黑客攻击报案有用吗 瓷砖粘结剂配方! 瓷砖粘结剂配方 瓷砖粘结剂用什么牌子好 瓷砖粘结剂怎么施工 春兰空调KFR-22GW/A 只能制冷,不能制热,调成制热模式还是制冷,请问是什 ... 瓷砖粘合剂要怎么用呢 中国最牛瓷砖胶配方 钢渣瓷砖胶配方 boplay h5蓝牙锁住了,没法和手机匹配怎么办 三星S8+连接BO蓝牙耳机提示使用此设备需要一个应用程序? b&o耳机怎么连接蓝牙 太阳的热量是怎样传到地球上来的? 太阳是怎么会持续发光发热的 为什么太阳是热的? 太阳为什么会一直发光发热?它的热能由什么转变来?转变成热能的物质又是哪来的?它们是怎么循环的? 地球上的热主要来自于太阳,太阳上的热是怎样传到地球上来的? 太阳的热是怎样传到地球上来的 太阳的热是怎样传到地球上来的? 为啥太阳这么热? 太阳体内的热量是怎样形成的?658 太阳是怎么样发出热来的?? 南昌航空大学排名 中国有多少航空大学?分数线是多少? 打拳练拳主要练的是哪些地方的肌肉? 拳击手需要哪些地方的肌肉? 拳击手的肌肉训练主要包含了哪些 拳击手需要重点训练哪些部位的机肉力量与耐力 要做哪些专项素质的训练... 今天做的金桔柠檬明天还能喝吗? coco金桔柠檬可以保存多久 金桔柠檬水的做法步骤图,金桔柠檬水怎么做 微信发小程序能在里面加上自己要的图片吗? 华为荣耀6怎么刷机 小学的英语试听课 谁有ppt的么 请大神赐教。 引风机的工作原理? 华为荣耀6 PLUS 怎么刷机? 引风机电流大的原因? 华为荣耀6怎么刷机模式? 华为荣耀6recovery1.0怎么刷机 引风机的吸力和引风机箱体的厚度有关系吗 如何上好一节公开课 ppt课件 引风机和鼓风机有什么区别