• 三栏布局,中间自适应


    方法一:两边使用float + 中间使用margin

    方法二:两边使用absolute + 中间使用margin

    方法三:flex 布局

    方法四:grid 布局

    方法一:相关HTML代码【两边使用float + 中间使用margin】

    1. <div class="container">
    2. <div class="left">div>
    3. <div class="right">div>
    4. <div class="main">123div>
    5. div>

    方法一:相关CSS代码【两边使用float + 中间使用margin】

    1. .container{
    2. width: 400px;
    3. height: 100px;
    4. border: 1px solid #000;
    5. }
    6. .left, .right, .main{
    7. height: 100px;
    8. }
    9. .left {
    10. width: 100px;
    11. float: left;
    12. background-color: aliceblue;
    13. }
    14. .right{
    15. width: 100px;
    16. float: right;
    17. background-color: blanchedalmond;
    18. }
    19. .main{
    20. margin: 0 100px;
    21. background-color: aqua;
    22. }

    方法二:相关HTML代码【两边使用absolute + 中间使用margin】

    1. <div class="container">
    2. <div class="left">div>
    3. <div class="main">123div>
    4. <div class="right">div>
    5. div>

    方法二:相关CSS代码【两边使用absolute + 中间使用margin】

    1. .container{
    2. width: 400px;
    3. height: 100px;
    4. border: 1px solid #000;
    5. position: relative;
    6. }
    7. .left, .right, .main{
    8. height: 100px;
    9. }
    10. .left {
    11. width: 100px;
    12. background-color: aliceblue;
    13. position: absolute;
    14. left: 0;
    15. top: 0;
    16. }
    17. .right{
    18. width: 100px;
    19. background-color: blanchedalmond;
    20. position: absolute;
    21. right:0;
    22. top: 0;
    23. }
    24. .main{
    25. margin: 0 100px;
    26. background-color: aqua;
    27. }

    方法三:相关HTML代码【flex 布局】

    1. <div class="container">
    2. <div class="left">div>
    3. <div class="main">123div>
    4. <div class="right">div>
    5. div>

    方法三:相关CSS代码【flex 布局】

    1. .container{
    2. width: 400px;
    3. height: 100px;
    4. border: 1px solid #000;
    5. display: flex;
    6. }
    7. .left, .right, .main{
    8. height: 100px;
    9. }
    10. .left {
    11. width: 100px;
    12. background-color: aliceblue;
    13. }
    14. .right{
    15. width: 100px;
    16. background-color: blanchedalmond;
    17. }
    18. .main{
    19. flex: 1;
    20. background-color: aqua;
    21. }

    方法四:相关HTML代码【grid 布局】

    1. <div class="container">
    2. <div class="left">div>
    3. <div class="main">123div>
    4. <div class="right">div>
    5. div>

    方法四:相关CSS代码【grid 布局】

    1. .container{
    2. width: 400px;
    3. height: 100px;
    4. border: 1px solid #000;
    5. display: grid;
    6. grid-template-columns: 100px auto 100px;
    7. }
    8. .left, .right, .main{
    9. height: 100px;
    10. }
    11. .left {
    12. background-color: aliceblue;
    13. }
    14. .right{
    15. background-color: blanchedalmond;
    16. }
    17. .main{
    18. background-color: aqua;
    19. }

    结果展示: 

    其他

    【两边使用float, 中间使用负margin 的方法比较复杂】

    【table布局,性能低,易引发回流和重绘,放弃】

    方法一到四宽度均会自适应,不需要设置width:100%

  • 相关阅读:
    还在想如何编辑PDF格式文件?这有一个实用教程
    波士顿房价预测分析----以线性回归LinearRegression为例
    软件建模与分析--共享单车管理系统
    机器学习8—聚类算法之DBSCAN和Birch算法
    Android okhttp3.0配置https信任所有证书
    C++ 修饰符类型
    react+antd+Table实现表格初始化勾选某条数据,分页切换保留上一页勾选的数据
    Typescript给定一个由key值组成的数组keys,返回由数组项作为key值组成的对象
    vulnhub_clover靶机渗透测试
    MySQL怎么运行的系列(八)14张图说明白MySQL事务原子性和undo日志原理
  • 原文地址:https://blog.csdn.net/zhao_hong_ran/article/details/134492929