博客
关于我
前端笔记(总结几种水平垂直居中的方式)
阅读量:462 次
发布时间:2019-03-06

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

水平居中是网页开发中常见的布局需求,本文将介绍三种常用的实现方法,供开发者参考。

1. 使用 transform 属性

这种方法属于 CSS 变换的一种,通过将元素沿 X、Y 轴进行位移来实现居中效果。具体实现方式如下:

.d1_1 {    width: 200px;    height: 200px;    background-color: red;}.d2_1 {    width: 100px;    height: 100px;    background: blue;    transform: translate(50%, 50%); /* 位移 */}

这种方法的优点是实现简单,且不会影响其他元素的布局位置。通常建议在使用时,先设置为相对定位或绝对定位,以确保不会干扰页面的正常布局。

2. 使用弹性布局 (Flexbox)

弹性布局是现代 CSS 中最为常用的居中方法之一。这种方法通过设置容器的 display: flex 属性,并结合 align-itemsjustify-content 来实现垂直和水平居中。以下是一个典型的示例:

.d3 {    width: 200px;    height: 200px;    background-color: red;    display: flex;    align-items: center; /* 垂直居中 */    justify-content: center; /* 水平居中 */}.d4 {    width: 100px;    height: 100px;    background: blue;}

这种方法的优势在于代码简洁,跨浏览器支持率高(IE10+)。不过,需要注意的是在某些旧浏览器版本中可能存在兼容性问题。

3. 使用 vertical-align 属性

这种方法通常用于行内元素的居中,适用于较少的场景。通过将元素设置为行内元素,并使用 vertical-align: middle 来实现居中效果。以下是一个示例:

.d5 {    width: 200px;    height: 200px;    background-color: red;    text-align: center;}.d5::after {    content: '';    display: inline-block;    height: 100%;    vertical-align: middle;}.d6 {    width: 100px;    height: 100px;    background-color: blue;    display: inline-block;    vertical-align: middle;}

这种方法的实现相对复杂,通常用于特定场景,且需要对元素的布局有较好的理解。

注意事项

  • 在使用 transform 属性时,建议先设置为 position: relativeposition: absolute,以避免影响其他布局。
  • 对于弹性布局,建议在容器中设置 flex: 1display: flex,并根据具体需求设置 align-itemsjustify-content
  • 在使用 vertical-align 时,建议将父容器设置为行内布局(white-space: nowrap),并确保元素的 display 属性为 inline-block
  • 通过以上三种方法,可以根据具体需求选择最合适的实现方式。

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

    你可能感兴趣的文章
    Openlayers实战:绘制带箭头的线
    查看>>
    Openlayers实战:输入WKT数据,输出GML、Polyline、GeoJSON格式数据
    查看>>
    Openlayers实战:非4326,3857的投影
    查看>>
    Openlayers高级交互(10/20):绘制矩形,截取对应部分的地图并保存
    查看>>
    Openlayers高级交互(11/20):显示带箭头的线段轨迹,箭头居中
    查看>>
    Openlayers高级交互(13/20):选择左右两部分的地图内容,横向卷帘
    查看>>
    Openlayers高级交互(14/20):汽车移动轨迹动画(开始、暂停、结束)
    查看>>
    Openlayers高级交互(15/20):显示海量多边形,10ms加载完成
    查看>>
    Openlayers高级交互(16/20):两个多边形的交集、差集、并集处理
    查看>>
    Openlayers高级交互(17/20):通过坐标显示多边形,计算出最大幅宽
    查看>>
    Openlayers高级交互(18/20):根据feature,将图形适配到最可视化窗口
    查看>>
    Openlayers高级交互(19/20): 地图上点击某处,列表中显示对应位置
    查看>>
    Openlayers高级交互(2/20):清除所有图层的有效方法
    查看>>
    Openlayers高级交互(20/20):超级数据聚合,页面不再混乱
    查看>>
    Openlayers高级交互(3/20):动态添加 layer 到 layerGroup,并动态删除
    查看>>
    Openlayers高级交互(4/20):手绘多边形,导出KML文件,可以自定义name和style
    查看>>
    Openlayers高级交互(5/20):右键点击,获取该点下多个图层的feature信息
    查看>>
    Openlayers高级交互(6/20):绘制某点,判断它是否在一个电子围栏内
    查看>>
    Openlayers高级交互(7/20):点击某点弹出窗口,自动播放视频
    查看>>
    Openlayers高级交互(8/20):选取feature,平移feature
    查看>>