css处理水平居中问题

1、水平居中设置-行内元素

通过父元素设置 1 text-align:center; ,让父元素的内容居中

2、水平居中设置-定宽块状元素

块状元素的宽度width为固定值,通过设置“左右margin”值为“auto”来实现居中的

例子:

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>定宽块状元素水平居中</title>
<style>
div{
    width: 200px;/*固定的宽度*/
    margin: 20px auto;/*左右margin设置为auto*/
    border: 1px solid red;
}
</style>
</head>
<body>
<div>我是定宽块状元素,我要水平居中显示。</div>
</body>
</html>

3、水平居中设置-不定宽块状元素

方法1. 加入 table 标签

例子:

 1 <!DOCTYPE HTML>
 2 <html>
 3 <head>
 4 <meta charset="utf-8">
 5 <title>不定宽块状元素水平居中</title>
 6 <style>
 7 table{
 8     margin:0 auto;
 9 }
10 /*下面是任务区代码*/
11 .wrap{
12     background:#ccc;
13 }
14 </style>
15 </head>
16 <body>
17 <table>
18   <tbody>
19     <tr><td>
20         <div class="wrap">
21             我要水平居中
22         </div>
23     </td></tr>
24   </tbody>
25 </table>
26
27 </body>
28 </html>

方法2. 设置 display:inline; 方法,与第一种类似,显示类型设为行内元素,进行不定宽元素的属性设置

例子:

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>不定宽块状元素水平居中</title>
<style>
.container{text-align:center;}
.container ul{list-style:none;margin:0;padding:0;display:inline;}
.container li{margin-right:8px;display:inline;}
</style>
</head>

<body>
<div class="container">
    <ul>
        <li><a href="#">1</a></li>
        <li><a href="#">2</a></li>
        <li><a href="#">3</a></li>
    </ul>
</div>
</body>
</html>

方法3. 设置  position:relative  和  left:50% 利用相对定位的方式,将元素向左偏移 50% ,即达到居中的目的

例子:

<!DOCTYPE HTML>
<html>
<head>
<meta charset="utf-8">
<title>不定宽块状元素水平居中</title>
<style>
/*下面是代码任务区*/
.wrap{
    clear:both;
    float:left;
    position:relative;
    left:50%
    }
.wrap-center{
    background:#ccc;
    position:relative;
    left:-50%;
}
</style>
</head>

<body>
<!--下面是代码任务区-->
<div class="wrap">
    <div class="wrap-center">我们来学习一下这种方法。</div>
</div>
</body>
</html>

ps:欢迎指正

时间: 2024-10-06 10:07:49

css处理水平居中问题的相关文章

CSS垂直水平居中方法总结

在布局的时候经常能用到居中,在此总结一下 html结构: <div class="wrap"> <div class="content"></div> </div> 1.水平居中:margin:auto; .wrap{ width: 400px; height: 400px; background-color: lightblue; } .content{ width: 200px; height: 200px; ba

CSS布局--水平居中

这篇博文主要记录各种实现水平居中的方法,还有它们的优缺点等. 子元素div在父元素div中实现水平居中 1.使用inline-block 和 text-align: <!DOCTYPE html> <html> <head> <title>asd</title> <style type="text/css"> .parent { height: 200px; background-color: black; tex

CSS:水平居中与垂直居中

原文链接:http://www.cnblogs.com/JuFoFu/p/4450162.html#undefined CSS居中算是一个比较基础的问题,在实际运用中,需要考虑到的一般是两种情况,一种是主要是表现为文字,图片等行内元素的居中,一种是指 div 等块级标签元素的居中. 水平居中 1.行内元素 行内元素(主要是表现为文字,图片等行内元素),通过在父级元素设置 text-align:center 使子级行内元素居中. 2.定宽块级元素 为定宽块级元素设置: 1 margin-left:

CSS中水平居中的方法

居中是我们在css中经常遇到的问题,一般有水平居中.垂直居中.垂直水平居中这3种情况,那么今天首先就来对学习到的水平居中的方法做个总结笔记. css水平居中 text-align:center 为了看得更清楚,我们举一个例子,如图,我们将div2放入div1中,现在,如果我们想让文字在div2中水平居中,那么将它的父元素div2或者(div1)设置为text-align:center即可.因为text-align具有继承性,而且text-align它只对行内元素有效. 那么接下来,如果我们想让d

css实现水平居中和垂直居中的常见方式

我们在实际工作中常会遇到需要设置居中的场景,居中分为水平居中和垂直居中.针对不同的情况又有不同的实现方式,例如行内元素和块状元素. 水平居中: 行内元素:text-align:center://这个比较简单 块状元素:定宽的块状元素通过设置左右margin为auto实现,例如margin:10px auto:不定宽的块状元素:加入 table 标签后按照定宽元素进行设置:设置 display: inline 后按照行内元素设置:设置position:relative left:50% 通过给父元

css常见水平居中

行内元素居中 常见行内元素如文本,图片等居中时,通常是给父元素设置text-align:center 来实现.例如 HTML: <body> <div>我是文字,我要居中显示</div> </body> css: <style> div{ text-align:center ; } </style> 块元素居中 块元素居中分为不定宽和定宽两种形式,定宽的块元素我们可以通过设置margin值为auto实现居中.例如: <body&

CSS元素水平居中的方法总结

行内:text-align:center; 定宽块状:margin:Xpx auto; 不定宽块状: 1.<table> <tbody><tr><td>,然后table即是定宽块状元素 2.display:inline然后当做行内元素处理(存在问题:少了一些功能,比如设定长度值) 3.通过给父元素设置 float,然后给父元素设置 position:relative 和 left:50%,子元素设置 position:relative 和 left:-50%

css之水平居中设置

行内元素:     div,p{text-align:center;} 定宽块状元素:  第一宽度固定,第二margin-left和margin-right均是auto.div{border:1px solid red;width:200px;margin:20px auto;} 不定宽块状元素方法 加入 table 标签( 包括 <tbody>.<tr>.<td> ). 设置 display: inline 方法:与第一种类似,显示类型设为 行内元素,进行不定宽元素的

css 垂直水平居中总结

前言: 垂直居中有很多方式,我们要做的不是写出完美代码,而是在合适的情况下根据需求选择合适方式. 主要方式: line-height 绝对定位 表格 display:table-cell 主要需求: 固定宽高 不固定宽高 主要兼容: ie8+  主流浏览器 ie6,7 行高 1. 利用行高与高度相同,实现单行文本居中 缺点:只能是单行文本 1 <!DOCTYPE html> 2 <html> 3 <head> 4 <title></title>