博客
关于我
css 各种居中方法总结
阅读量:465 次
发布时间:2019-03-06

本文共 1651 字,大约阅读时间需要 5 分钟。

CSS居中方法总结

在日常CSS样式设计过程中,如何实现元素的居中是一个常见需求。本文将总结多种实现居中的方法,并结合实际应用场景进行分析。

  • 水平居中 + Block子元素定宽 + margin

    • 适用于需要子元素固定宽度的场景
    • 方法:父元素设为Block类型,子元素设定固定宽度,并在父元素右侧添加margin空间
  • 水平居中 + Inline-block子元素不定宽 + text-align

    • 适用于子元素宽度不定的情况
    • 方法:父元素设为Inline-block类型,子元素不定宽,父元素左右margin进行水平居中
  • 水平居中 + Inline-block子元素定宽 + text-align

    • 适用于需要子元素固定宽度的场景
    • 方法:子元素设定固定宽度,父元素使用Inline-block和text-align进行水平居中
  • 水平居中 + Inline子元素不定宽 + text-align

    • 注意:Inline元素无法设定宽高,这一方法主要用于展示统一格式
  • 水平垂直居中 + Flex + 子元素不定宽高

    • 基础Flex居中方法
    • 方法:父元素设为Flex容器,子元素默认不定宽高,居中效果较好
  • 水平垂直居中 + Flex + 子元素不定宽高 + margin

    • 组合Flex和margin优化居中效果
    • 方法:在Flex基础上适当调整子元素的外边距
  • 水平垂直居中 + Grid + 子元素不定宽高

    • 基础Grid居中方法
    • 方法:父元素设为Grid容器,子元素自动分布并居中
  • 水平垂直居中 + Grid + 子元素不定宽高(居中属性设置在子元素上)

    • 子元素自身具备居中属性
    • 方法:在Grid基础上,子元素单独设置display: box,实现居中效果
  • 水平垂直居中 + Grid + 子元素不定宽高 + margin

    • 组合Grid和Margin优化居中效果
    • 方法:在Grid基础上适当调整子元素外边距
  • 水平垂直居中 + Absolute + 子元素定宽高 + margin

    • 适用于需要精确控制位置的场景
    • 方法:利用绝对定位,结合margin进行居中
  • 水平垂直居中 + Absolute + 子元素不定宽高 + margin

    • 组合Absolute和Margin实现居中
    • 方法:父元素Absolute定位,子元素不定宽高,通过Margin控制居中位置
  • 水平垂直居中 + Absolute + 子元素不定宽高 + transform

    • 组合Absolute和Transform优化居中效果
    • 方法:通过Transform属性进行精确位置控制
  • 水平垂直居中 + Table-cell + 子元素不定宽高 + text-align + vertical-align

    • 表格单元格居中方法
    • 方法:将子元素放入td元素中,设置text-align和vertical-align
  • 水平垂直居中 + Inline/Inline-block子元素不定宽高 + vertical-align

    • 基础Inline/Inline-block居中方法
    • 方法:通过vertical-align进行垂直居中
  • 水平垂直居中 + Writing-mode + Inline/Inline-block子元素不定宽高 + text-align

    • 注意:方法受默认排版影响,适用性有限
  • 水平垂直居中 + 水平垂直居中 + Block子元素定宽 + 父元素高度由子元素决定 + padding/margin

    • Block元素居中方法
    • 方法:子元素设定固定宽高,父元素通过padding和margin进行居中
  • 水平垂直居中 + 子元素不定宽高 + 父元素高度由子元素决定 + line-height

    • 基础垂直居中方法
    • 方法:通过line-height控制子元素垂直位置
  • 正方形十字居中

    • 特殊情况居中方法
    • 方法:通过绝对定位和Transform控制子元素相对于父元素的位置
  • 以上方法可以根据实际需求灵活组合使用。每种方法都有其适用场景和限制,选择时需结合具体项目需求进行权衡。

    转载地址:http://lzkbz.baihongyu.com/

    你可能感兴趣的文章
    PyQt5教程7:布局Layout管理
    查看>>
    pyqt5教程8:对话框
    查看>>
    pyqt5教程9:Widgets组件
    查看>>
    PyQt5教程——组件(7)
    查看>>
    pyqt5计时器的使用
    查看>>
    PyQt5设计桌面程序步骤
    查看>>
    PyQt5:检查鼠标是否在Enter-Event中按住
    查看>>
    pyqt出现“Ui_Dialog has no attribute “show””
    查看>>
    PyQt:如何使用QAxWidget引用发送参数
    查看>>
    PyQt:我可以制作一个带有图标和文本的工具栏按钮吗?
    查看>>
    pyscopg2:是否可以在循环中动态添加 %s
    查看>>
    Pyserial 缓冲区的填充速度比我读的快
    查看>>
    PySpark - 在数据框中求和一列并将结果返回为 int
    查看>>
    pyspark On Yarn 的模块依赖问题
    查看>>
    PySpeech(Python)-转录MP3文件?
    查看>>
    Pyspider WebUI 未授权访问致远程代码执行漏洞复现
    查看>>
    pyspider爬虫学习-文档翻译-Architecture.md
    查看>>
    pytesseract.pytesseract.TesseractNotFoundError: tesseract is not installed or it‘s not in your path
    查看>>
    Pytesseract集字符白名单
    查看>>
    PyTorch DataLoader 报错 Segmentation fault (core dumped) 的原因及解决方案
    查看>>