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>
<body>
  <div class="box">
        <img src="detail-share.png" >
  </div>
</body>

  

2.水平居中 text-align:center;

代码实例如上

3.水平垂直居中(一)定位和需要定位的元素的margin减去宽高的一半

<style type="text/css">
   .box{
        width: 300px;
        height: 300px;
        background:#e9dfc7;
        border:1px solid red;
        position: relative;
    }
    img{
        width: 100px;
        height: 120px;
        position: absolute;
        top: 50%;
        left: 50%;
        margin-top: -60px;
        margin-left: -50px;
    }
</style>
<div class="box">
   <img src="detail-share.png" >
</div>

  

4.水平垂直居中(二)定位和margin:auto;

这个方法也很实用,不用受到宽高的限制,也很好用

.box{
  position: relative;
  width: 300px;
  height: 300px;
  background:#e9dfc7;
  border:1px solid red;
}
img{
  width: 100px;
  height: 100px;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}

  

5.水平垂直居中(三)绝对定位和transfrom

这个方法比较高级了,用到了形变,据我所知很多大神喜欢使用这个方法进行定位,逼格很高的,学会后面试一定要用!这个是不需要知道居中元素的宽高就可以使用的,代码里的图片稍微有点大,改改宽高,仅此而已,在面试中大部分人会问如果不知道宽高该如何居中,答这个,加分!

.box{
  width: 300px;
  height: 300px;
  background:#e9dfc7;
  border:1px solid red;
  position: relative;
}
img{
  width: 100px;
  height: 100px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}

  

6.水平垂直居中(四)diplay:table-cell

其实这个就是把其变成表格样式,再利用表格的样式来进行居中,很方便

.box{
  width: 300px;
  height: 300px;
  background:#e9dfc7;
  border:1px solid red;
  display: table-cell;
  vertical-align: middle;
  text-align: center;
}
img{
  width: 100px;
  height: 100px;
  /*margin: 0 auto;*/  这个也行
}

  

7.水平垂直居中(五)flexBox居中

这个用了CSS3新特性flex,非常方便快捷,在移动端使用完美,pc端有兼容性问题,以后会成为主流的

.box{
  width: 300px;
  height: 300px;
  background:#e9dfc7;
  border:1px solid red;
  display: flex;
  justify-content: center;
  align-items:center;
}
img{
  width: 100px;
  height: 100px;
}

  

8.水平垂直居中(六)利用vertical-align:middle;

这方法不常见,但是这位朋友@不二很纯洁 补充后我觉得也不失为一种好方法可以让别人刮目相看,这个方法关键要有一个和容器一样高的元素作为居中的一个参照就像b元素一样

<style type="text/css">
    .wrap{
        width:300px;
        height:300px;
        background:rgba(0,0,0,0.5);
        text-align:center;
        font-size:0;
    }
    .vamb{
        display:inline-block;
        width:0px;
        height:100%;
        vertical-align:middle;
    }
    .test{
        display:inline-block;
        vertical-align:middle;
        font-size:16px;
        text-align:left;
        background:red;
    }
</style>
<div class="wrap">
  <b class="vamb"></b>
  <div class="test">
    宽高不定<br>
    垂直水平居中
  </div>
</div>

  

如果 觉得文章不错,可以请博主喝一杯奶茶哦!!!

原文地址:https://www.cnblogs.com/zuobaiquan01/p/8414265.html

时间: 2024-10-07 00:42:58

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 这种方式只能实现固定宽度的块级元素水平居中,如果该元素没有设置宽度或者不是块级元素,则不会生效. /*以div元素为例*/ div{ width: 100px; height: 100px; margin: auto; /*或者margin: 0 auto;*/ } 2.line-height 将单行文字line

我给女朋友讲编程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