CSS居中问题

本文介绍了使用CSS实现不同场景下元素居中的多种方法,包括文本、图片和块级元素的水平及垂直居中技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<!DOCTYPE>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8">
<title>div标签</title>
<style type="text/css">
/* 浮动 */
.clearfix:before,.clearfix:after {content: ".";display: block;height: 0;line-height: 0;clear: both;visibility: hidden;}
.clearfix {zoom:1;clear: both;display: block; _height:1px;}


body{padding:0;margin:0;}
.relative{position: relative;}


.tk{
position: relative;width: 1024px;background: #aaa;
margin: 0 auto;
text-align: center;
}


.tk-s{
position: absolute;color: red;font-size: 20px;font-family: '微软雅黑';
border-radius: 10px;background: #F0F0F0;width: 100px;height: 50px;text-align: center;line-height: 50px;


left: 50%;margin-left:-50px;
top: 50%;margin-top: -25px;
}


.tk-m{
position:relative;width:100px;height:100px;
left: 50%;margin-left:-50px;
}


</style>
</style>
</head>
<body>
    <div class="tk">
1、使用text-align: center使diplay:inline-block元素居中<br>
        <img src="http://img3.jiemian.com/101/original/20160511/146293713997498200_a580x330.jpg"><br>


2、指定宽度的display:block元素使用margin:auto居中<br>
3、使用position: absolute;left:left: 50%;margin-left:-宽度居中<br>
<div class="relative clearfix">
<img src="http://img3.jiemian.com/101/original/20160511/146293713997498200_a580x330.jpg" style="display:block;margin:0 auto;"><br>
<div class="tk-s">彩云之南</div>
</div><br>


4、文字环绕居中<br>
        <img src="http://img3.jiemian.com/101/original/20160511/146293713997498200_a580x330.jpg" style="vertical-align: middle;" width="50" height="50">
<span class="nh">图片文字环绕</span><br><br><br>


5、非绝对定位使用left居中
<div class="relative">
<img class="tk-m" src="http://img3.jiemian.com/101/original/20160511/146293713997498200_a580x330.jpg" style="display:block"><br>
</div>
    </div>
</body>

</html>


--div高度不固定,img高度固定时垂直居中

.div{vertical-align:middle;}

.div-img{display:inline-block;vertical-align: middle;position: relative;top:50%;height:20px;margin-top:-10px;}

.div-text{display:inline-block;vertical-align: middle;position: relative;top:50%;height:20px;margin-top:-10px;}

<div class="div">

<img class="div-img" src="1.jpg">

<span class="div-text">98556</span>
</div>

### CSS 实现页面元素水平垂直居中的多种方案 #### 使用伪元素与 `margin` 一种实现方法是在父级容器 `.container` 上应用相对定位并设定视口高度。接着,在该容器上定义一个伪元素 `::before`,其内容为空字符串,显示模式设为行内块状元素,并占据整个父容器的高度,同时保持中间对齐。目标子元素也应配置为行内块状元素并与之垂直对齐,利用自动外边距达到水平中心位置的效果[^1]。 ```css .container { position: relative; height: 100vh; /* 视口高度 */ } .container::before { content: ""; display: inline-block; height: 100%; vertical-align: middle; } .centered-element { display: inline-block; vertical-align: middle; margin: 0 auto; /* 水平居中 */ } ``` #### 利用 Flexbox 布局模型 对于更现代的方式来说,可以采用弹性盒子布局(Flexbox)。只需给定父节点 `display: flex; justify-content:center; align-items:center;` 属性组合即可轻松完成两个方向上的精准定位[^2]。 ```css .parent { display: flex; justify-content: center; align-items: center; min-height: 100vh; /* 至少覆盖全屏高 */ } .child { /* 子项样式 */ } ``` #### 表格单元格属性法 另外还有一种基于表格特性的技巧——将父层设置成具有表格单元格行为的对象 (`display: table-cell`) 并启用垂直居中选项(`vertical-align:middle`) 来处理内部项目的位置调整问题[^3]。 ```css .table-container { display: table-cell; text-align: center; vertical-align: middle; width: 100vw; height: 100vh; } .item-inside-table { /* 被居中的元素 */ } ``` 以上三种都是常见而有效的CSS技术用于确保网页组件能够在任意大小屏幕上都处于视觉焦点处。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值