对齐、弹性盒子与栅格盒子

内容元素的水平对齐

指内容元素(叶子节点)在标记盒子中的对齐,浏览器会根据水平基线(行盒子)进行自动计算

Export
HTML
Result

text-align 不支持垂直方向的对齐或置中。 css有一个vertical-align属性,但仅适用于图片这类特殊元素

标记元素的水平对齐

指标记元素(盒子或容器)之间的对齐。示例中将外边距的计算交由浏览器决定(必须能预先计算出子盒子的宽度),从而获得水平对齐的效果,但不支持垂直方向的自动计算

Export
HTML
Result

标记元素的垂直置中

示例使用了绝对定位的技巧

<div id="page"> <div>需要置中的标记元素</div>  </div>
<style>
    #page{position: relative;}
    div{
        width: 200px; height: 200px;
        background-color: blue;
        position: absolute;
        top: 50%; left: 50%;       
    }
</style>

对齐的N种方式 https://blog.csdn.net/weixin_37580235/article/details/82317240

形形色色的布局

布局

传统盒子模型的问题

  • 普通的盒子模型仅支持margin、padding等简单的位置调整,若实现横向或纵向的对齐与定位,需要依赖浮动、绝对定位及 各种补丁技术,如clearfix
  • list与table等盒模型虽然支持横轴或纵轴、甚至网格定位,但这些标记本质都是语义标记,若用于布局排版,将严重干扰页面内容的语义结构
  • 弹性或自适应性不足,难以适应不同设备、不同尺寸等情况(屏幕、浏览器窗口缩放)

传统盒子模型,本质上是一个字符盒子,其定位基线设计源自字体,而不是容器(有一些定制的容器,如list、table之类)。且早期出于便利的需要,未有严格区分元素的语义结构与样式布局

弹性盒子 Flexible Box

2009年,W3C 提出了一种新的盒子模型----弹性盒子 Flex Box,给盒子模型增加了一个十字轴线,允许盒子内部的元素沿轴线进行布局。目前,它已经得到了所有主流浏览器的支持,特别移动设备上的浏览器。

Flex布局

Flex 示例

Export
HTML
Result

Flex 参考

Flex 工具

results matching ""

    No results matching ""