css居中的几种方式

居中分水平和垂直两种,使用的频度也算是很高,下面分情况来讨论一下几种常用的实现方式。

欢迎指正文中的错误,同时如果有学习到新的方式也会更新在后面,也方便以后温故知新。

1.margin

这种方式只能实现固定宽度的块级元素水平居中,如果该元素没有设置宽度或者不是块级元素,则不会生效。

/*以div元素为例*/
div{
    width: 100px;
    height: 100px;
    margin: auto; /*或者margin: 0 auto;*/
}

2.line-height

将单行文字line-height值设置为其父元素高度可以实现该行文字的垂直居中,局限也很明显。

<div id=‘container‘>
    <p id=‘content‘>文字内容</p>
</div>
#container{
    height: 30px;
}
#content{
    line-height: 30px;
}

3.表格

如果你使用表格的话,那么可以利用td元素的align:center和valign:middle属性轻易的做到水平和垂直居中,但是考虑到现在表格布局的使用频率已经很低了,实用性其实并不强。

<table>
    <tr>
        <td width=‘200px‘ height=‘200px‘ align=‘center‘ valign=‘middle‘>
            <!-- 子元素 -->
        </td>
    </tr>
</table>

4.display: table-cell

由于单元格可以轻易的实现水平和垂直居中,所以可以把父元素容器模拟成单元格元素,通过样式text-align:center以及vertical-align:middle来达到一样的效果。但是要注意的是text-align:center只能使非块级子元素水平居中而对块级子元素无效。

<div id="table-cel">
    <div></div>
</div>
#table{
    display: table-cell;
    width: 200px;
    height: 200px;
    vertical-align: middle;
    text-align: center;
}

5.绝对定位居中

这个方法使用的相对也较多,但是需要子元素有固定的宽高,不多说直接上代码。

<body>
    <div></div>
</body>
html,
body{
    width: 100%;
    height: 100%;
}
body{
    position: relative;
}
body>div{
    position: absolute;
    width: 100px;
    height: 100px;
    left: 50%;
    top: 50%;
    /*此时的元素并不是居中的,向右偏了一半的宽度,向下偏了一半的高度*/
    /*所以要使用margin把元素拉回来*/
    margin: -50px 0 0 -50px;
}
时间: 2024-11-10 10:30:02

css居中的几种方式的相关文章

1.关于css居中的几种方式

刚开始的时候看到垂直居中就有点头大,现在写出来为后来的同学头不要再大 首先来看一下dom结构,一般是俩个容器, <div class="container"> <div class="t1"> </div> </div> 第一种方式 也是很常用的一种方式 贴css代码 .container{ width: 400px; height: 400px; margin: 0 auto; background: lightco

CSS居中的几种方式总结

1.水平居中的 margin:0 auto; 这个是用于子元素上的,前提是不受float影响 <style type="text/css"> .box{ width: 300px; height: 300px; border: 3px solid red; /*text-align: center;*/ } img{ display: block; width: 100px; height: 100px; margin: 0 auto; } </style> &

我给女朋友讲编程CSS系列(1) –添加CSS样式的3种方式及样式表的优先权

如果说,原生态就是美,那么,我们就没有必要穿衣打扮. 网页是什么? 说白了,网页就是一堆[html标签]有序的搭配,让[CSS属性值]整整容,请[Javascript语言]处理一下事件. 一个人的整容效果,很大程度上取决于Ta本人,也就是原材料,对网页来说,原材料就是html标签,因此设计优秀的html标签结构十分重要. 整容医生的作用也至关重要,割双眼皮,整容医生的基本功,不同医生割出来的效果不同. 作为一个网页设计师,我们是不是应该追求完美,尽最大努力,让网页漂亮一些. 我知道,我们往往自称

python 中增加css样式的三种方式

增加css样式的三种方式: 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>Title</title> 6 <!--head中style是第一处写css样式的地方--> 7 <style> 8 .cl{ 9 /*背景色*/ 10 background-color

div与css结合的四种方式

第一种方式:               <div style=" background-color:#00ff00;font-size: 20px"> 第一种方式</div >               缺点:这种方式暴露的缺点是 代码严重重复. 第二种方式: 格式:标签名{                     属性一:属性值:                     属性二:属性值:                     ...           

css点滴3—5种方式实现圆环

使用css实现圆环,最简单的方式就是使用嵌套标签,设置border-radius就可以实现,但是这个是最简单的方式,这篇文章我们介绍5种方式实现圆环. 1.两个标签嵌套 html代码: <div class="element1"> <div class="child1">1</div> </div> css代码: .element1{ width: 200px; height: 200px; background-co

css 圣杯布局三种方式

所谓的圣杯布局就是左右两边大小固定不变,中间宽度自适应.我们可以用浮动.定位以及flex这三种方式来实现 一般这种布局方式适用于各种移动端顶部搜索部分,这是最常见的,如京东手机版主页面顶部搜索: 可以看到左边有个菜单按钮,中间是搜索框,右边是登录两个文字,左右大小是固定的,而中间部分则是随着手机屏幕尺寸的大小而自适应.   第一种方法 float实现: 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 &

css 垂直同步的几种方式

第一种: 利用 display:table 和 display:table-cell 的方式 这种方式就好像将table布局搬过来一样,相信大家对table的td还是有印象的,它的内容是可以设置垂直居中的. DEMO: <style> .table{ display:table; } .table-cell{ display:table-cell; } .othercss{ background-color:#676; width:300px; height:300px; vertical-a

css 总结内容用到的绝对居中的几种方式

在手机排版时,内容绝对居中用到的特别频繁. 1. 如何让未知尺寸的图片在已知宽高的容器内水平垂直居中? .test{ position:relative; width:200px; height:200px; text-align:center; vertical-align:middle; background-color: green; } .test p{ position:absolute; top:50%; left:50%; margin:0; } .test p img{margi