栅格系统的写法实践(响应式布局原理)——layui

本文介绍了layui前端框架中的栅格系统使用方法,包括常规布局示例及响应式效果实现原理。并通过实例展示了如何仅使用最小尺寸布局即可适配多种屏幕尺寸。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

layui是非常流行的前端框架,其栅格系统可以帮助我们快速进行页面布局,并且实现响应式效果。

一、栅格系统的常规使用方式

以下是一个常规的栅格系统示例代码:

<div class="layui-container">
    栅格系统示例:
    <div class="layui-row">
        <div class="layui-col-xs3 layui-col-sm6 layui-col-md9 layui-bg-green">
            你的内容 9/12
        </div>
        <div class="layui-col-xs9 layui-col-sm6 layui-col-md3 layui-bg-red">
            你的内容 3/12
        </div>
    </div>
</div>

在屏幕宽度为不同尺寸时呈现出对应的效果

xs:超小屏幕(<768px)

sm:小屏幕(768px <= sm < 992px)

md:中等屏幕(992px <= md < 1200px)

二、页面中只需要使用一种布局

上面的案例中,“登录”、“注册”两个按钮的排布采用栅格系统,他们在各种屏幕尺寸上都采用这种效果。按钮响应式布局的写法,应该对xs、sm、md、lg四种情况分别写对应的代码。整个代码看上去非常冗余。

<div class="layui-form-item layui-row">
    <div class="layui-col-xs5 layui-col-sm5 layui-col-md5">
        <button class="layui-btn layui-btn-primary layui-btn-fluid">注册</button>
    </div>
    <div class="layui-col-xs-offset2 layui-col-xs5 layui-col-sm-offset2 layui-col-sm5 layui-col-md-offset2 layui-col-md5">
        <button class="layui-btn layui-btn-fluid">登录</button>
    </div>
</div>

经过测试发现,只写xs的布局也能在各种屏幕尺寸下达到上述效果。代码看上去变得清晰了。

<div class="layui-form-item layui-row">
    <div class="layui-col-xs5">
        <button class="layui-btn layui-btn-primary layui-btn-fluid">注册</button>
    </div>
    <div class="layui-col-xs-offset2 layui-col-xs5">
        <button class="layui-btn layui-btn-fluid">登录</button>
    </div>
</div>

思考:为什么xs的设定能否满足所有屏幕尺寸?

三、分析与总结

1、以第一个案例为例,在屏幕为超小尺寸xs(<768px)时,xs的class是默认生效的。

2、当屏幕的宽度为sm(>=768px)时,layui使用了CSS3的多媒体查询@media,达到该尺寸后,让新的width属性生效,原来的则失效。

3、同样的道理,当屏幕达到中等尺寸md(>992px)时,对应的width生效。

总结:删除系统的响应式布局通过多媒体查询@media实现,默认的效果是xs,当屏幕宽度超过这一范围后,如果设置对应的栅格属性,则会生效,否则沿用上一个尺寸生效的栅格属性。

最佳实践:当页面布局在几种尺寸中采用相同的样式时,只需要写尺寸最小的栅格属性,稍大的尺寸下会沿用较小的尺寸属性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值