https://blog.csdn.net/panlu666_pl/article/details/66480433

一、水平居中

子元素在父元素中水平居中

1.使用 text-align和inline-block 实现

.parent{
text-align:center;
}
.child{
display:inline-block;
}

2.使用margin:0 auto来实现

.child{
width:720px; /*某具体值或百分比*/
margin:0 auto; /*左右边距必须为auto*/
}

3.使用table实现

.child{
display:table;
margin:0 auto;
}

缺点:IE6,7需要调整结构

4.使用绝对定位实现

.parent{
position:relative;
}
.child{
position:absolute;
left:50%;
transform:translate(-50%);
}

缺点:兼容性差,IE9及以上可用

5.使用flex布局实现 
1).

.parent{
display:flex;
justify-content:center;
}

2).

.parent{
display:flex;
}
.child{
margin:0 auto;
}

缺点:兼容性差,如果进行大面积的布局可能会影响效率

二、垂直居中

1.使用vertical-align实现 
1).

.parent{
display:table-cell;
vertical-align:middle;
height:200px;
}

2).

.parent{
line-height: 200px;
}
.child{
display:inline-block;
vertical-align:middle;
}
  • 元素属于inline或inline-block或table-cell,vertical-align才会起作用
  • 在使用vertical-align的时候,由于对齐的基线是用行高的基线作为标记,故需要设置line-height或设置display:table-cell

2.使用绝对定位实现

.parent{
position:relative;
} .child{
position:absolute;
top:50%;
transform:translate(0,-50%);
}

3.使用flex实现

.parent{
display:flex;
align-items:center;
}

三、水平垂直全部居中

1.利用vertical-align,text-align,inline-block实现

.parent{
display:table-cell;
vertical-align:middle;
text-align:center;
} .child{
display:inline-block;
}

2.使用绝对定位实现

.parent{
position:relative;
} .child{
position:absolute;
top:50%;
left:50%;
transform:translate(-50%,-50%);
}

3.使用flex实现

.parent{
display:flex;
justify-content:center;
align-items:center;
}

《网页布局基础篇》HTML+CSS单列布局--水平居中,垂直居中,水平垂直居中的更多相关文章

  1. CSS(3)多种方法实现水平垂直居中效果

    CSS实现水平垂直居中对齐 在CSS中实现水平居中,会比较简单.常见的,如果想实现inline元素或者inline-block元素水平居中,可以在其父级块级元素上设置text-align: cente ...

  2. CSS未知宽高元素水平垂直居中

    方法一 :table.cell-table 思路:显示设置父元素为:table,子元素为:cell-table,这样就可以使用vertical-align: center,实现水平居中优点:父元素(p ...

  3. 用CSS 实现 非浮动元素的 水平居中/垂直居中/水平垂直居中

    一.水平居中 (1)行内元素解决方案 只需要把行内元素包裹在一个属性display为block的父层元素中,并且把父层元素添加如下属性即可:   .parent { text-align:center ...

  4. css 文字和子元素水平垂直居中

    关于水平垂直居中,这是一个很简单的问题,但是很多时候,往往简单的东西,反而做不出来.这就是基础不扎实的缘故吧,我参照一些资料,总结了水平垂直居中的几种方法如下: 1 .文字水平垂直居中 这个比较简单, ...

  5. CSS3/CSS之居中解析(水平+垂直居中、水平居中,垂直居中)

    首先,我们来看下垂直居中: (1).如果是单行文本,则可以设置的line-height的数值,让其等于父级元素的高度! <!DOCTYPE html> <html lang=&quo ...

  6. CSS中怎么设置元素水平垂直居中?

    记录怎么使用text-align与vertical-align属性设置元素在容器中垂直居中对齐.text-align与vertical-align虽然都是设置元素内部对齐方式的,但两者的用法还是有略微 ...

  7. CSS多种方式实现元素水平垂直居中

    html结构: <div class="center">确定宽高水平垂直居中</div> <div class="center2" ...

  8. 《网页布局基础篇》—浮动布局和float属性

    浮动布局 <html> <head> <meta charset="utf-8"> <title>浮动</title> ...

  9. <转载>div+css布局教程之div+css常见布局结构定义

    在使用div+css布局时,首先应该根据网页内容进行结构设计,仔细分析和规划你的页面结构,你可能得到类似这样的几块: 页面层容器.页面头部.标志和站点名称.站点导航(主菜单).主页面内容.子菜单.搜索 ...

随机推荐

  1. Discuz! X3.4 邮件设置 使用qq邮箱发邮件

    1. 在qq邮箱->设置中,获取授权码 2. 在discuz后台配置基础信息 3.  在服务器的防火墙中添加规则,允许访问465端口

  2. Delimiter must not be alphanumeric or backslash php报错原因

    昨天写了一个小程序,其中用到了正则表达式去匹配内容.  php源代码如下: preg_match("\b(\w+)\b\s+\1\b",$match):   此报错警告的中文意思是 ...

  3. 每天五分钟Go - 闭包

    闭包的示例代码 func getSequence() func() int{ i:=0 return func() int { i+=1 return i } } 首先,函数名getSequence, ...

  4. 扩展欧几里得(exgcd)-求解不定方程/求逆元

    贝祖定理:即如果a.b是整数,那么一定存在整数x.y使得ax+by=gcd(a,b).换句话说,如果ax+by=m有解,那么m一定是gcd(a,b)的若干倍.(可以来判断一个这样的式子有没有解)有一个 ...

  5. HTML5 socket

    client: <!DOCTYPE html> <html> <head> <title></title> <meta http-eq ...

  6. cJSON解析数据如何避免过多if-else,实现解耦

    代码展示: 数据接收函数内,解析cJSON数据时,一不小心就会冒出来一大堆if语句在一个函数内,后续想要新增网络功能时,必然又会导致需要在mqtt订阅函数内去新增部分代码,实现解析新的报文. 这显然耦 ...

  7. 实现自动切换主题的 VSCode 扩展

    在白天,我常常需要浅色的 VSCode 主题:在夜间,我常常需要深色的 VSCode 主题.我不希望每天手动切换两次 VSCode 主题,所以我开发了这个可以自动切换主题的 VSCode 扩展 -- ...

  8. CRC校验原理和verilog实现方法(三)

    1 代码生成 verilog实现CRC校验,可以充分发挥FPGA的硬件特性,即并行运算的能力. 具体实现方式,可以参考我上一篇博客,关键是用线性反馈移位寄存器表示出多项式,另外注意校验数据高位在先.然 ...

  9. WPF Combox实现下拉多选,可选中多个值

    自定义多选MultiCombox,可以实现下拉列表多选 using System; using System.Collections.Generic; using System.Collections ...

  10. Vulhub-DC-4靶场

    Vulhub-DC-4靶场 前言 这套靶场的亮点在于对hydra的运用比较多,在遇到大容量字典的时候,BurpSuite可能会因为设置的运行内存的限制,导致字典需要花很长时间导入进去,虽然通过修改配置 ...