网页制作 
首页 > 网页制作 > 浏览文章

css 布局 之 两端布局的实例代码 (利用父级负的margin)

(编辑:jimmy 日期: 2024/10/1 浏览:3 次 )

最近在进行开发的过程中,有遇到两端对齐的布局,是按照百分比来进行布局的,之前有用过flex布局,但是flex布局,使用两端布局的时候,会出现一切bug。比如,下面的是动态生成的时候,三列或者多列就会把下面的列表分布在两边。
虽然可以解决,但是还是想看一下用普通的css是如何布局的。因为就写了这个。

在网上找了一些教程,都是写死的宽度来进行操作的。我把它改造成了百分比的格式,简单来记录一下。
先上css

<style>
        * {
            padding: 0px;
            margin: 0px;
            box-sizing: border-box;
        }
        
        .max-box {
            max-width: 1200px;
            margin: 0px auto;
        }
        
        .box {
            overflow: hidden;
            width: calc(100% + 20px);
            margin-left: -10px;
        }
        
        .inner {
            height: 100px;
            border: solid 1px red;
            float: left;
            margin-left: 10px;
            width: calc(((100% - 20px) - 10px * 3) / 4);
        }
        
        .max-box2 {
            max-width: 1200px;
            margin: 50px auto;
            border: solid 1px red;
            height: 200px;
        }
    </style>

再上html

 <div class="max-box2">

    </div>
    <div class="max-box">
        <div class="box">
            <div class="inner">

            </div>
            <div class="inner">

            </div>
            <div class="inner">

            </div>
            <div class="inner">

            </div>
        </div>
    </div>

把这些套入到html就可以看到效果了。
如下图

css 布局 之 两端布局的实例代码 (利用父级负的margin)

最后总结一下那个公式

x = 10px; 即:想要的间距
y = 4     即:想要排列的个数
父级:  width: calc(100% + (x * 2));
子级:  width: calc(((100% - (x * 2)) - x * ( y - 1)) / y );

总结

上一篇:CSS通过letter-spacing属性 控制字与字间隔
下一篇:CSS3实现淘宝留白的方法
一句话新闻
一文看懂荣耀MagicBook Pro 16
荣耀猎人回归!七大亮点看懂不只是轻薄本,更是游戏本的MagicBook Pro 16.
人们对于笔记本电脑有一个固有印象:要么轻薄但性能一般,要么性能强劲但笨重臃肿。然而,今年荣耀新推出的MagicBook Pro 16刷新了人们的认知——发布会上,荣耀宣布猎人游戏本正式回归,称其继承了荣耀 HUNTER 基因,并自信地为其打出“轻薄本,更是游戏本”的口号。
众所周知,寻求轻薄本的用户普遍更看重便携性、外观造型、静谧性和打字办公等用机体验,而寻求游戏本的用户则普遍更看重硬件配置、性能释放等硬核指标。把两个看似难以相干的产品融合到一起,我们不禁对它产生了强烈的好奇:作为代表荣耀猎人游戏本的跨界新物种,它究竟做了哪些平衡以兼顾不同人群的各类需求呢?