`

利用CSS实现居中对齐

阅读更多

文章来源:http://www.itnose.net/detail/6035510.html更多文章:http://www.itnose.net/type/78.html

1. 文本居中

  首先编写一个简单的html代码,设置一个类名为parentDiv的div对象。html代码如下:

1 <div class="parentDiv">
2   这里随意填写~... 
3 </div>

1.1 实现文字水平居中(使用text-align)

  对div.parentDiv设置text-align: center;来实现。CSS代码如下:

1 [css]
2 
3 .parentDiv {
4      width:200px;
5      height:100px;
6      border: 1px solid #ececec;
7      text-align:center;  /*水平居中*/
8 }

  有些时候,你会发现即使使用了text-align: center;属性,但是仍然没有起到居中的作用。原因就在于div标签本身没有定义自己居中的属性,而且这样做对布局是非常不科学的方法。正确的设置方法其实很简单就是给.parentDiv添加以下属性:margin-left: auto;margin-right: auto;即可。具体可看2.1。

注:在父级元素定义text-align: center;属性的意思就是在父级元素内的内容居中;对于IE浏览器这样设置就没问题了,但在Mozilla浏览器中却不行。解决办法就是:在子元素定义设定时,再加上margin-left: auto;及margin-right: auto;就没问题了。需要说明的是如果想用这个方法使整个页面要居中,建议不要套在一个div里,可以依次拆出多个div,只要在每个拆出的div里定义margin-left: auto;及margin-right: auto;就行。

1.2 单行文本垂直居中(使用line-height

  文字在层中垂直居中使用vertical-align属性是做不到的,所以这里有个比较巧的方法就是:设置height的高度与line-height的高度相同。CSS代码如下:

1 [css]
2 
3 .parentDiv {
4     width:200px;
5     height:100px;
6     border: 1px solid #ececec;
7     text-align:center; /* 水平居中 */
8     line-height: 100px; /* line-height = height */
9 }

1.3 文本垂直居中(使用vertical-align)

  可以使用vertical-align实现垂直居中,不过vertical-align仅适用于内联元素和table-cell元素,因此之前需要转化。

 1 [css]
 2 
 3 .outerBox{
 4       width:200px;
 5       height:100px;
 6       border: 1px solid #ececec;
 7       text-align:center; /* 水平居中 */
 8       display:table-cell; /*转化成table-cell元素*/
 9       vertical-align:middle; /*垂直居中对齐,vertical-align适用于内联及table-cell元素*/ 
10 }

1.4 图片垂直居中(使用background-position)

   这里指的是背景方法,在div.parentDiv对象中使用background-position属性。CSS代码如下:

1 [css]
2 
3 .parentDiv {
4     background: url(xxx.jpg) #ffffff no-repeat center;
5 }

注:关键就在于最后的center,这个参数定义图片的位置。当然,background-position属性还可以写成“top left"或者"bottom right"等,也可以直接写数值。

2. div居中

  首先编写一个简单的html代码,设置一个父div类名为parentDiv,再设置一个子div类名为childDiv。html代码如下:

1 <div class="parentDiv">
2     <div class="childDiv"></div>
3 </div>

  实现parentDiv和childDiv父子div的盒子宽高背景色和边框大小。CSS代码如下:

 1 [css]
 2  
 3 * {
 4     -webkit-box-sizing: border-box; /*Safari*/
 5     -moz-box-sizing: border-box; /*Firefox*/
 6     box-sizing: border-box;
 7 }
 8   
 9 .parentDiv {
10     width:400px;
11     height: 100px;
12     background-color: #00ff00;
13     margin: 20px;
14 }
15  
16 .childDiv {
17     width: 200px;
18     height:50px;
19     background-color: #ff0000;
20 }

2.1 水平居中(使用margin:auto)

  当div.childDiv对象拥有固定宽度时,设置水平方向margin为auto,可以实现水平居中。CSS代码如下:

1 [css]
2 
3 /*margin:auto实现水平居中,需要居中的div必须拥有固定的宽度*/
4 .parentDiv .childDiv {
5     margin: 0 auto;
6 }

2.2 实现水平居中(使用text-align:center)

  如果给子盒子div.childDiv设置display: inline-block不影响整体布局时,可以将子盒子转化为inline-block,对父盒子设置text-align:center实现居中对齐。CSS代码如下:

 1 [css]
 2 
 3 /*
 4 text-align: center;实现水平居中
 5 需要子盒子设置为display: inline-block;
 6 */
 7 .parentDiv {
 8     text-align: center;
 9 }
10 
11 .parentDiv childDiv {
12     display: inline-block;
13 }

2.3 table-cell元素居中

  将父盒子设置为table-cell元素,可以使用text-align: center;和vertical-align: middle;实现水平、垂直居中。比较好的解决方案是利用三层结构模拟父子结构。html代码如下:

1 <div class="parentDiv tableCell">
2     <div class="id1">
3         <div class="childDiv">tableCell</div>
4     </div>
5 </div>

  CSS代码如下:

 1 [css]
 2 
 3 /*
 4 table-cell实现居中
 5 将父盒子设置为table-cell元素,设置
 6 text-align: center; vertical-align: middle;
 7 子盒子设置为inline-block元素
 8 */
 9 .tableCell {
10     display: table;
11 }
12 
13 .tableCell .id1 {
14     display: table-cell;
15     text-align: center;
16     vertical-align: middle;
17 }
18 
19 .tableCell .childDiv {
20     display: inline-block;
21 }

2.4 绝对定位居中(利用margin实现偏移)

  将parentDiv对象设置为定位元素(利用position: relative;属性),将childDiv对象设置为绝对定位,left和top均为50%,这时子盒子的左上角居中对齐,利用margin实现偏移。CSS代码如下:

 1 [css]
 2 
 3 /*绝对定位实现居中*/
 4 .parentDiv {
 5     position: relative;
 6 }
 7 
 8 .parentDiv .childDiv {
 9     position: absolute;
10     left:50%;
11     top:50%;
12     margin-left:-100px; /*利用margin实现偏移,设置为宽度和高度的一半的负值*/
13     margin-top:-25px;
14 }

2.5 绝对定位居中(利用transform实现偏移)

  绝对定位方式与2.4类似,只不过利用transform中的translate实现偏移。CSS代码如下:

 1 [css]
 2 
 3 /*绝对定位实现居中,transform偏移*/
 4 .parentDiv {
 5     position: relative;
 6 }
 7 
 8 .parentDiv .childDiv {
 9     position: absolute;
10     left:50%;
11     top:50%;
12     -webkit-transform: translate(-50%, -50%);
13     -moz-transform: translate(-50%, -50%);
14     -ms-transform: translate(-50%, -50%);
15     -o-transform:translate(-50%, -50%) ;
16     transform:translate(-50%, -50%);
17 }

2.6 绝对定位居中(利用margin:auto实现偏移)

  同样对子盒子实现绝对定位,这里使用top、right、bottom、left均为0,margin为auto实现偏移。CSS代码如下:

 1 [css]
 2 
 3 /*绝对定位实现居中,margin:auto实现偏移*/
 4 .parentDiv {
 5     position: relative;
 6 }
 7 
 8 .parentDiv .childDiv {
 9     position: absolute;
10     left:0; /*top、right、bottom、left均为0*/
11     top:0;
12     right: 0;
13     bottom: 0;
14     margin: auto;
15 }

2.7 Flexbox居中

  使用弹性盒模型(flexbox)实现居中。CSS代码:

 1 [css]
 2 
 3 /*flexbox实现居中*/
 4 .flexBox {
 5     display: -webkit-box; /*Safari*/
 6     display: -moz-box; /*Firefox*/
 7     display: -ms-flexbox; /*IE*/
 8     display: -webkit-flex; /*Chrome*/
 9     display: flex; 
10     -webkit-box-align: center;
11     -moz-box-align: center;
12     -ms-flex-align: center;
13     -webkit-align-items: center;
14     align-items: center;
15     -webkit-box-pack: center;
16     -moz-box-pack: center;
17     -ms-flex-pack: center;
18     -webkit-justify-content: center;
19     justify-content: center;
20 }
 
 
 

 

分享到:
评论

相关推荐

    css左右居中对齐

    在网页设计中,CSS...总的来说,理解并掌握这些CSS居中对齐的方法,将有助于提升你的网页设计技能,使你能够更灵活地控制网页元素的布局。在实践中不断探索和尝试,你会发现CSS在网页设计中有着无穷的可能性。

    div+css实现div的多层重叠,并且居中显示

    我们在制作网页时,有时需要多重div的重叠,每个div添加不同的内容,以实现特殊的层叠效果,这个如何实现,在网上没找到现成的详细的教程,但是可以用现有的知识,自己摸索哦。终于成功了,O(∩_∩)O~ 分享出来。...

    DIV+CSS DIV居中布局

    CSS Grid布局也支持居中对齐。在网格容器上设置`align-items: center;`和`justify-content: center;`可以实现双向居中。例如: ```css .container { display: grid; align-items: center; justify-content: ...

    网页制作 css让页面居中对齐

    网页制作 css让页面居中对齐 css让页面居中对齐是网页制作中的一项基本需求,今天我们将总结一下css让页面居中对齐的方法。 一、使用margin实现居中对齐 这是我们大家用的最多的方法,使用的时候必须为容器制定...

    CSS实现完美垂直居中 - 蓝色理想

    "CSS实现完美垂直居中"这一主题深入探讨了如何利用CSS技术使元素在容器内实现精确的垂直对齐。以下是一些关于这个主题的关键知识点: 1. **单行文本垂直居中**: 对于单行文本,可以使用`line-height`属性来实现...

    div+css垂直居中和水平居中

    `属性可以轻松地将文本内容在div内居中对齐。例如: ```css .container { text-align: center; } ``` 2. **多行文本水平居中**: 对于多行文本,`display: flex;`和`justify-content: center;`组合可以实现...

    css实现垂直居中

    以下是一些主要的CSS技术,它们可以帮助你实现"css实现垂直居中": 1. **Flexbox布局** Flexbox是现代CSS布局模式,特别适合处理容器内子元素的对齐问题。要实现垂直居中,可以设置容器的`display`属性为`flex`,...

    CSS让图片垂直居中和底端对齐的代码

    本CSS教程提供了两种对齐方式即垂直居中对齐和底端对齐!更多内容请参考本站的CSS视频教程。 CSS使图片垂直居中的代码: &lt;!DOCTYPE ...

    css水平居中4种方式

    在CSS布局设计中,将元素水平居中对齐是一项常见的需求。无论是图片、宽度和高度固定的元素,还是自适应的动态元素,都有多种方法可以实现水平居中。以下是标题所提及的“css水平居中4种方式”的详细解析: 1. **...

    DIV+CSS上下左右绝对居中

    CSS Grid 另一种强大的布局系统,可以方便地实现居中。设置容器为 `display: grid`,然后利用 `place-items` 属性: ```css .container { display: grid; place-items: center; /* 上下左右同时居中 */ ...

    vue组件实现文字居中对齐的方法

    上图为公司自营的一个微信商城的某一部分截图,可以看到红框内部分的文字多行与单行是居中对齐的,我们现在要做的就是使用Vue把里边的文字模块制作成一个可以复用的组件。 首先我们先把css部分拿下来  css: .word-...

    css布局居中和CSS内容居中区别和对应DIV CSS代码.docx

    - **内容居中案例**:探索更多关于HTML文本、div内字体和元素垂直居中的CSS技巧,以掌握更全面的居中对齐技术。 总之,理解和掌握CSS布局居中与内容居中是网页设计的基础,对于创建响应式和用户友好的网页至关重要...

    CSS实现同一行的图片和文字垂直居中对齐的方法

    在实现图片与文字垂直居中对齐的场景中,我们通常会使用 middle 值。 具体实现方法如下: 1. 创建一个包含图片和文字的 HTML 元素,例如 div。 2. 为该 HTML 元素内的图片和文字应用 vertical-align: middle; 的 ...

    css实现文本和div居中对齐详细讲解示例

    在网页设计中,CSS(层叠样式表)是用于控制网页元素样式的关键工具,其中包括如何将文本和div元素居中对齐。本文将详细讲解几种不同的方法来实现这一目标。 1. **文本水平居中** 当我们想要让文本在div内水平...

    总结垂直居中对齐的解决方案

    在网页设计中,垂直居中对齐是一种常见的布局需求,无论是单行文本、多行文本、图片或者其他元素,都需要能够灵活地实现垂直居中的显示效果。这篇博客文章将深入探讨几种常用的垂直居中对齐解决方案,并结合源码进行...

    DreamWeaver文字怎么居中对齐? dw垂直居中对齐的技巧

    在DreamWeaver中实现文字居中对齐,主要涉及到两个CSS属性:text-align和line-height。text-align属性用于控制文字的水平对齐方式,而line-height属性则控制文字的垂直位置。 1. 水平居中对齐技巧 在DreamWeaver中...

    css图片垂直居中

    本篇文章将深入探讨如何利用CSS实现图片的垂直居中效果。 首先,我们来看几种常见且实用的CSS方法: 1. **Flexbox布局**: Flexbox是CSS3引入的一种新的布局模式,特别适合处理容器内元素的对齐问题。要使图片在...

    css遮罩全屏居中对齐的实现方式

    总结起来,本文通过一个具体的Vue组件实例展示了如何使用CSS实现全屏遮罩层的居中对齐。主要技巧包括使用绝对定位、负margin、以及`z-index`来实现遮罩层和内容的定位。理解这些基本概念和方法,可以帮助开发者更...

Global site tag (gtag.js) - Google Analytics