css居中方式

元素类型

行内元素

  • 不自动换行,除非占满一行时

  • 宽高由内容决定,不可手动设置

  • margin,padding只左右有效

  • a、span、em、b、strong、i

块元素

  • 块元素独占一行

  • 可设置宽高,如不设置宽占父容器的100%

  • margin,padding有效

  • float浮动元素会变成块级元素

  • div、p、ul、li、h1~h6、dl、dt、dd

行内块元素

  • 支持全部样式
  • 如果不设置宽高,就由内容决定
  • 不换行
  • 代码换行,盒子会产生间距

flex布局

  • 将父容器display:flex 或者 display:inline-flex
  • flex-direction属性有四个值设置元素按横轴线还是竖轴线排序
    • row 从左到右
    • row-reverse 从右到左
    • column从上到下
    • column-reverse从下到上
  • flex-wrap是否换行
    • nowarp不换行 默认值
    • wrap无法容纳时换行
    • wrap-reverse换行,但是每行的顺序与wrap的顺序相反
  • justify-content控制在横轴线上的布局
    • justify-content:flex-start在主轴线开始处排序,默认属性
    • justify-content:flex-end在主轴线结束处排序
    • justify-content:center在主轴线处居中
    • justify-content:space-between除最后一个和第一个元素其他元素间隔相同
    • justify-content:space-around让每个flex有相同的空间
  • align-items控制在竖轴线上的布局
    • align-items:stretch让flex项目和flex容器同高度,默认属性
    • align-items:flex-start在竖轴线开始处排序
    • align-items:flex-end在竖轴线结束处排序
    • align-items:center在竖轴线处居中
    • align-items:baseline让flex项目沿着基线对齐
  • flex-grow:默认0,1使元素填充容器
  • flex-shrink:默认1,使元素自动收缩
  • flex-basis:设置元素的固定宽度不受flex-shrink影响
  • align-self:改变单独一个flex项目的侧轴位置
    • 与align-items一样
    • auto继承align-items

水平居中

#parent{text-align:center}

这种居中方法只对文字,行内元素,行内块元素有效,且会被行内元素继承

#son{
    width: 100px; /*必须定宽*/
    margin: 0 auto;
}

auto让左右两边自动分配,但是就必须要设定宽度,且只作用域块级元素

#son{
    width: 100px; /*必须定宽*/
    margin: 0 auto;
}

使用flex布局

垂直居中

#parent{
    height: 150px;
    line-height: 150px;  /*与height=line-height等值*/
}

只能用于单行行内容

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

flex布局

水平垂直居中

#parent{
    height: 150px;
    line-height: 150px;  /*行高的值与height相等*/
    text-align: center;
    font-size: 0;   /*消除幽灵空白节点的bug*/
}
#son{
    /*display: inline-block;*/  /*如果是块级元素需改为行内或行内块级才生效*/
    vertical-align: middle;
}

只对行内元素有效

button#parent{ 
    height: 150px;
    width: 200px;
    outline: none;  
    border: none;
}
#son{
    display: inline-block; 
}

内部子元素要改成行内元素

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

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • H5移动端知识点总结 阅读目录 移动开发基本知识点 calc基本用法 box-sizing的理解及使用 理解dis...
    Mx勇阅读 10,137评论 0 26
  • 移动开发基本知识点 一.使用rem作为单位 html { font-size: 100px; } @media(m...
    横冲直撞666阅读 8,912评论 0 6
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    love2013阅读 6,861评论 0 11
  • 第一章 复杂选择器 一、兄弟选择器:具备相同父元素的元素 ① 特点:1、通过位置关系来匹配元素(平级关系) ...
    fastwe阅读 4,181评论 0 0
  • 混搭非为上乘纯一必有由因
    咸叔说阅读 1,166评论 0 1

友情链接更多精彩内容