关于使用Bootstrap实现响应式设计的一些感想

前言

最近在写一个项目,要求使用响应式设计,这可让我十分头疼,又要临时学一下bootstrap,一路学下来,不能说是收获满满,但也是有一些心得体会,于是在此记录。

开端

想必各位读者开始学习bootstrap时,最先接触到的关于响应式的知识应该是两个容器类——“container”和”container-fluid“类,这两个类本身就是响应式的。但是在写代码时我遇到过这两个类失效的情况,具体体现在页面可以左右滑动,右侧留有一定的空白区域,这显然不符合响应式设计的理念,后经检查,发现时容器类中的子元素宽度超出了容器类本身的宽度,造成了这种现象,解决方法是使用flex布局,或者宽度采用百分比设置。

承接上文,我们进而可以得出两个比较重要的经验,即在进行响应式设计时

1.元素的宽度一般情况下不能是固定的(对于某些处于页面中间,且宽度比较小的元素可以另当别论,这里一般指的是容器div)

2.元素尽量不要采用绝对定位和固定定位

初见端倪

入门bootstrap得到的第一个法宝应该可以说是‘栅格系统’了,但当我具体开始写代码时,我发现可能是我自身对‘栅格系统’的了解不深,导致我觉得其功能非常有限,对于复杂的布局显得捉襟见肘,而且还经常会打乱已有的布局。于是有一段时间,我大概是被网上的文档和视频给迷惑了(这类视频很少),导致我不禁发问:“就这?”

但是,随着自己的摸索,加上对ai提问得到的一些知识,我有了新的发现,其实我远远没有发掘出bootstrap真正的实力,以下是我近期新的认识。

首先,深入学习之后,我发现bootstrap的一个很大的特点是自带了很多的预定义类,我们使用这些类可以少些很多CSS代码,之前我大多接触到的是类似“mt-3”、“bg-dark”、“text-white”这些类,这里面关于响应式的类其实我还没有发掘多少,但后来我发现,只要对原有的一些类加上‘断点’,就可以实现很多响应式的要求。我在这里记录下一部分。



    布局和Flexbox:
        .d-{breakpoint}-inline: 内联显示。
        .d-{breakpoint}-inline-block: 内联块级显示。
        .d-{breakpoint}-block: 块级显示。
        .d-{breakpoint}-grid: 栅格显示。
        .d-{breakpoint}-table: 表格显示。
        .d-{breakpoint}-table-row: 表格行显示。
        .d-{breakpoint}-table-cell: 表格单元格显示。
        .d-{breakpoint}-flex: Flexbox 容器。
        .d-{breakpoint}-inline-flex: 内联 Flexbox 容器。

    Flex 项目对齐:
        .align-items-{breakpoint}-start: Flex 项目在交叉轴上向开始对齐。
        .align-items-{breakpoint}-end: Flex 项目在交叉轴上向结束对齐。
        .align-items-{breakpoint}-center: Flex 项目在交叉轴上居中对齐。
        .align-items-{breakpoint}-baseline: Flex 项目在交叉轴上基线对齐。
        .align-items-{breakpoint}-stretch: Flex 项目在交叉轴上拉伸对齐。

    Flex 内容对齐:
        .justify-content-{breakpoint}-start: Flex 项目在主轴上向开始对齐。
        .justify-content-{breakpoint}-end: Flex 项目在主轴上向结束对齐。
        .justify-content-{breakpoint}-center: Flex 项目在主轴上居中对齐。
        .justify-content-{breakpoint}-between: Flex 项目在主轴上分散对齐。
        .justify-content-{breakpoint}-around: Flex 项目在主轴上均匀分布。

    边距:
        .m-{breakpoint}-{size}: 设置所有方向的外边距。
        .mt-{breakpoint}-{size}: 设置顶部外边距。
        .mb-{breakpoint}-{size}: 设置底部外边距。
        .mr-{breakpoint}-{size}: 设置右侧外边距。
        .ml-{breakpoint}-{size}: 设置左侧外边距。

    填充:
        .p-{breakpoint}-{size}: 设置所有方向的内边距。
        .pt-{breakpoint}-{size}: 设置顶部内边距。
        .pb-{breakpoint}-{size}: 设置底部内边距。
        .pr-{breakpoint}-{size}: 设置右侧内边距。
        .pl-{breakpoint}-{size}: 设置左侧内边距。

    显示:
        .d-{breakpoint}-none: 在特定断点隐藏元素。
        .d-{breakpoint}-inline: 在特定断点将元素显示为内联元素。
        .d-{breakpoint}-inline-block: 在特定断点将元素显示为内联块级元素。
        .d-{breakpoint}-block: 在特定断点将元素显示为块级元素。
        .d-{breakpoint}-table: 在特定断点将元素显示为表格。
        .d-{breakpoint}-table-row: 在特定断点将元素显示为表格行。
        .d-{breakpoint}-table-cell: 在特定断点将元素显示为表格单元格。
        .d-{breakpoint}-flex: 在特定断点将元素设置为Flex容器。
        .d-{breakpoint}-inline-flex: 在特定断点将元素设置为内联Flex容器。

    文本对齐:
        .text-{breakpoint}-left: 在特定断点文本左对齐。
        .text-{breakpoint}-right: 在特定断点文本右对齐。
        .text-{breakpoint}-center: 在特定断点文本居中。

    浮动:
        .float-{breakpoint}-left: 在特定断点元素左浮动。
        .float-{breakpoint}-right: 在特定断点元素右浮动。
        .float-{breakpoint}-none: 在特定断点元素不浮动。

    宽度和高度:
        .w-{breakpoint}-{size}: 设置宽度。
        .h-{breakpoint}-{size}: 设置高度。

    其他:
        .overflow-{breakpoint}-auto: 设置特定断点的溢出为自动。
        .overflow-{breakpoint}-hidden: 设置特定断点的溢出为隐藏。

说明:这里的 {breakpoint} 可以是 sm, md, lg, xl, 或 xxl,代表不同的屏幕尺寸断点。{size} 是一个数字(如1到5),代表不同级别的大小,或者是一个百分比值。

尾声

写的差不多了,记录暂时先到这里,后续学习到新知识还会进行分享,唉,又要敲代码去了,拜拜了各位!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

秋窗7

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值