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

前言

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

开端

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

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

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

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

初见端倪

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

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

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

css 复制代码
    布局和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),代表不同级别的大小,或者是一个百分比值。

尾声

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

相关推荐
周亚鑫8 分钟前
vue3 pdf base64转成文件流打开
前端·javascript·pdf
Justinc.25 分钟前
CSS3新增边框属性(五)
前端·css·css3
neter.asia41 分钟前
vue中如何关闭eslint检测?
前端·javascript·vue.js
~甲壳虫41 分钟前
说说webpack中常见的Plugin?解决了什么问题?
前端·webpack·node.js
嚣张农民1 小时前
JavaScript中Promise分别有哪些函数?
前端·javascript·面试
光影少年1 小时前
vue2与vue3的全局通信插件,如何实现自定义的插件
前端·javascript·vue.js
As977_1 小时前
前端学习Day12 CSS盒子的定位(相对定位篇“附练习”)
前端·css·学习
susu10830189111 小时前
vue3 css的样式如果background没有,如何覆盖有background的样式
前端·css
Ocean☾1 小时前
前端基础-html-注册界面
前端·算法·html
Dragon Wu1 小时前
前端 Canvas 绘画 总结
前端