美文网首页
居中大法

居中大法

作者: Love小六六 | 来源:发表于2017-06-06 19:58 被阅读0次

水平居中

  1. 行内元素水平居中
    给它的父级元素设置
text-align:center;
  1. 块级元素水平居中
    给该元素设置margin值
margin:0 auto;
  1. 子元素有浮动
    对父元素进行特殊设置
width:fit-content;
margin:0 auto;
  1. 使用弹性盒子(老版本)
    对父元素进行设置
display:box;//声明弹性盒模型
box-orient:horizontal;//确定子元素方向,horizontal水平,vertical垂直
box-pack:center;//盒子内部剩余空间对齐表现
  1. 使用弹性盒子(新版本)
    对父元素进行设置
display:flex;
flex-direction:row;//设置主轴方向
just-content:center;//主轴方向空间对齐方式
  1. transform方法
    父元素的position设置为relative,对子元素进行设置
position:absolute;
left:50%;
transform:translateX(-50%);//或translate(-50%,0)
  1. margin-left 负值
    父元素的position设置为relative,对子元素进行设置
position:absolute;
left:50%;
margin-left:-子元素宽度一半;
  1. 子元素绝对定位
    对子元素进行设置
position:absolute;
top:0;
bottom:0;
left:0;
right:0
margin:0 auto;

垂直居中

  1. 单文本内容
line-height:100px;//line-height==父元素高度值
  1. 行内块级元素(即display为inline-block)
    为父元素添加伪类
.parent ::after{
content:"";
height:100%;
}
.parent ::after, .son{
display:inline-block;
vertical-align:middle;
}
  1. 子元素以表格形式渲染
    父元素display设置为table,再设置子元素
display:table-cell;
vertical-align:middle;
  1. flex布局
    设置父元素
display:box;
box-orient:vertical;
box-pack:center;
  1. flex布局
    设置父元素
display:flex;
flex-direction:column;
align-center:center;
  1. margin负半值
    父元素position:relative,再设置子元素
position:absolute;
top:50%;
height:固定值;
margin-top: -高度的一半;
  1. 子元素相对定位
    父元素position:relative,再设置子元素
position:absolute;
top:0;
bottom:0;
left:0;
right:0;
margin:auto 0;
  1. 需要在居中元素前面放一个空块级元素(比如div)即可,然后设置这个div的高度为50%,margin-bottom为元素高度的一半,而且居中元素需要清除浮动,需要注意的是,使用这种方法,如果你的居中元素是放在body中的话,需要给html,body设置一个height:100%的属性
<div class="box"></div>
<div class="content">Content</div>
</pre>
<pre>
html,body{height:100%;}
 .box{
        height:50%;  /*相对父元素的高度的50%*/
        margin-bottom:-120px;
}
.content{
        clear:both;/*清除浮动*/
        width:240px;
        height:240px;
        position:relative;/*只能用相对定位*/
        background:green;
}

水平垂直居中

  1. 对于文本图片
line-height:高度;
tex-align:center;
  1. 定宽定高
    父元素为position:relative,再对子元素进行设置
position:absolute;
left:50%;
top:50%;
margin-left:-宽度一半;
margin-top:-高度一半;
  1. 绝对定位+margin法
    对子元素进行设置
position:absolute;
top:0;
bottom:0;
left:0;
right:0;
margin:auto;
  1. 使用js动态计算
    水平居中元素应设置为绝对定位,获取元素的位置,距离浏览器左边,上边的距离,并且进行赋值
    left:(浏览器的宽度-元素的宽度)/2
    top:(浏览器的高度-元素的高度)/2
var oBox=document.getElementById("box"),
      left=(document.documentElement.clientWidth-oBox.offsetWidth)/2,
      top = (document.documentElement.clientHeight)/2;
      oBox.style.left = left+"px";
      oBox.style.top = top+"px";
  1. 使用jQuery实现元素的水平垂直居中
    获取元素
    获取浏览器可视宽度$(window).width();
    获取浏览器可视高度$(window).height();
    元素距离浏览器左边的距离left:($(window).width()-元素.width())/2
    元素距离浏览器上边的距离top:($(window).height()-元素.height())/2
    resize:当调整浏览器窗口的大小时,发生 resize 事件
var oBox = $("#box"),
       oW = $(window).width(),   //获取浏览器的可视宽度
       oH  = $(window).height(), //获取浏览器的可视高度
       l = (oW-oBox.width())/2,  // 元素距离浏览器左边的距离
       t = (oH-oBox.height())/2; //元素距离浏览器右边的距离
       oBox.css({                    //赋值操作,left,top值
           left:l,
           top:t
        });

相关文章

  • 居中大法

    水平居中 行内元素水平居中给它的父级元素设置 块级元素水平居中给该元素设置margin值 子元素有浮动对父元素进行...

  • css垂直水平居中大法

    1.在设计中居中是形成美的第一大元素,然而在前端编写如何实现垂直水平居中呢? 1.普通青年(margin赋值法) ...

  • 元素水平垂直居中大法汇总

    垂直居中??我擦这么简单: 搞定!!!!! 还有吗? text-align:center;display:tabl...

  • css多行垂直水平居中--table布局大法

    ======= SEO专用 table-cell 定高水平垂直居中 不定高水平垂直居中 单行定高水平垂直居中 单行...

  • 多行文本固定高度垂直居中

    话不多说直接上代码! html: 居中居中居中居中居中居中 css: #Mian{ width:50...

  • css 居中

    居中有水平居中和垂直居中。 水平居中+垂直居中 flex法 position法 就是计算呗~ 参考 CSS各种居中...

  • css居中方式总结(亲测有效)

    水平居中(行内元素水平居中、块级元素水平居中) 垂直居中 水平垂直居中 行内元素水平居中 text-align: ...

  • 居中布局

    水平居中 垂直居中 垂直水平居中 已知元素的宽高的居中布局 定位居中布局 盒模型居中布局 图片的垂直水平居中(利用...

  • css 居中效果

    上下居中: 左右居中: 整页居中:

  • Ant Design使用 Table组件实现内容居中的效果

    未居中效果 未居中效果截图 居中效果 居中效果截图

网友评论

      本文标题:居中大法

      本文链接:https://www.haomeiwen.com/subject/tjknfxtx.html