资讯专栏INFORMATION COLUMN

总结下常见布局解决方案

newtrek / 2163人阅读

摘要:总结了几种常见的页面架构布局方案居中布局水平居中垂直居中水平垂直多列布局自适应布局等宽布局等高布局居中布局水平居中水平居中布局垂直居中水平垂直居中多列布局自适应布局定宽自适应

总结了几种常见的页面架构布局方案
1.居中布局

a.水平居中
b.垂直居中
c.水平垂直

2.多列布局

a.自适应布局
b.等宽布局
c.等高布局
居中布局 水平居中

demo

1. inline-block + text-align

.parent{
        text-align:center;
        }
.children{
        display:inline-block;
        }

2. table + margin

.children{
       display: table;
       margin:0 auto;
       }

3. absolute + transform

.parent{
        position: relative;
        }
.children{
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        }

4. flex + justify-content/margin

/* 4.flex + justify-content */
.parent{
        display: flex;
        justify-content: center;
        }
/* 5.flex + margin */
.parent{
        display: flex;
        }
.children{
        margin: 0 auto;
        }
垂直居中

1. table-cell + vertical-align

.parent{
        display: table-cell;
        vertical-align: middle;
        }

2. absolute + transform

.parent{
        position: relative;
        }
.children{
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        }

3. flex + align-items

.parent{
        display: flex;
        }
.children{
        align-items: center;
        }
水平垂直居中

1.inline-block + text-align + table-cell + vertical-algin

.parent{
        text-align: center;
        display: table-cell;
        vertical-align: middle;
        }
.children{
        display: inline-block;
        }

2.absolute + transform

.parent{
        position: relative;
        }
.children{
        position: absolute;
        top: 50%;
        height: 50%
        transform: translate(-50%, -50%);
        }

3. flex + justify-content + align-items

.parent{
        display: flex;
        justify-content: center;
        align-items: center;
        }
多列布局 自适应布局

1. 定宽 + 自适应

/* 1. float + margin */
.left{
    float: left;
    width: 100px;
 }
.right{
    margin-left: 120px;
}
/* 2. float + overflow BFC */
.left{
    float: left;
    width: 100px;
    margin-right: 20px;
}
.right{
    overflow: hidden;
}
/* 3.table */
.parent{
    display: table;
    width: 100%;
    table-layout: fixed;
}
.left, .right{
    display: table-cell;
}
.left{
    width: 100px;
    padding-right: 20px;
}
/* 4. flex */
.parent{
    display: flex;
}
.left{
    width: 100px;
    margin-right: 20px;
}
.right{
    flex: 1;
}
/* 5. 三列: 两列定宽 + 一列自适应 */
.left, .center{
    width: 100px;
    float: left;
}
.right{
    overflow: hidden;
}

2. 不定宽 + 自适应

/* float + overflow:hidden BFC */
.left{
    float: left;
    margin-right: 20px;
}
.right{
    overflow: hidden;
}
.left p{
    width: 100px;
}
/* table */
.parent{
    display: table;
    width: 100%;
}
.left, .right{
    display: table-cell;
}
.left{
    width: 0.1%;
    padding-right: 20px;
}
/* flex */
.parent{
    display: flex;
}
.left{
    margin-right: 20px;
}
.right{
    flex: 1;
}
.left p{
    width: 100px;
}
/* 三列 */
.left, .center{
    float: left;
    margin-right: 20px;
}
.right{
    overflow: hidden;
}
.left p, .center p{
    width: 100px;
}
等宽布局
.column{ background-color: #2aabd2;}
/* float */
.parent{
    margin-left: -20px;
}
.column{
    width: 25%;
    float: left;
    padding-left: 20px;
    box-sizing: border-box;
}
/* table */
.parent-fix{
    margin-left: -20px;
}
.parent{
    display: table;
    width: 100%;
    table-layout: fixed;
}
.column{
    display: table-cell;
    padding-left: 15px;
}
/* flex */
.parent{
    display: flex;
}
.column{
    flex: 1;
}
.column+ .column{
    margin-left: 20px;
}
等高布局
.left{ background-color: #2aabd2;}
.right{ background-color: #00B83F;}
/* flex */
.parent{
    display: flex;
}
.left{
    width: 100px;
    margin-right: 15px;
}
.right{
    flex: 1;
}
/* table */
.parent{
    display: table;
    width: 100%;
    table-layout: fixed;
}
.left, .right{
    display: table-cell;
}
.left{
    width: 100px;
    border-right: 15px solid transparent;
    background-clip: padding-box;
}
/*float 伪等高,不好*/
.left{
    float: left;
    width: 100px;
    margin-right: 15px;
}
.right{
    overflow: hidden;
}
.left, .right{
    padding-bottom: 9999px;
    margin-bottom: -9999px;
}
.parent{
    overflow: hidden;
}

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/116797.html

相关文章

  • 前端-CSS3&H5

    摘要:高度模型浅识为的简写,简称为块级格式化上下文,为浏览器渲染某一区域的机制,中只有和中还增加了和。并非所有的布局都会在开发中使用,但是其中也会涉及一些知识点。然而在不同的纯制作各种图形纯制作各种图形多图预警 一劳永逸的搞定 flex 布局 寻根溯源话布局 一切都始于这样一个问题:怎样通过 CSS 简单而优雅的实现水平、垂直同时居中。记得刚开始学习 CSS 的时候,看到 float 属性不...

    xiaolinbang 评论0 收藏0
  • 帝都寒冬一年经验前端面试总结

    摘要:不过幸运的是所有面试的公司都给了,在这里总结下经验吧。这里推荐下我当时看的一篇的面经,木易杨老师写的大厂高级前端面试题汇总。 前言 本人毕业一年,最近陆续面试了头条、瓜子、360、猿辅导、中信银行、老虎等公司,由于最近比较寒冬而且招1-3年的并不多,再加上自己对公司规模和位置有一定要求,所以最后合适的也就这几家了。不过幸运的是所有面试的公司都给了offer,在这里总结下经验吧。掘金:h...

    Scott 评论0 收藏0
  • 常见布局方法总结-居中布局

    摘要:常见布局方法总结水平居中布局使用场景页面整体水平居中,有具体宽度要求。 常见布局方法总结 水平居中布局 (1) width: (xxx)px; margin: 0 auto; 使用场景:页面整体水平居中,有具体宽度要求。 showImg(https://segmentfault.com/img/bVH7rO?w=1347&h=216); .content { width:...

    Wuv1Up 评论0 收藏0
  • 常见布局方法总结-居中布局

    摘要:常见布局方法总结水平居中布局使用场景页面整体水平居中,有具体宽度要求。 常见布局方法总结 水平居中布局 (1) width: (xxx)px; margin: 0 auto; 使用场景:页面整体水平居中,有具体宽度要求。 showImg(https://segmentfault.com/img/bVH7rO?w=1347&h=216); .content { width:...

    JowayYoung 评论0 收藏0

发表评论

0条评论

newtrek

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<