首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

15 个优秀的响应式 CSS 框架

在 Bootstrap 5 中做了一些重大更改,例如随意使用 jQuery 并添加了 RTL 支持,再加上现成的组件和工具类,使 Bootstrap 成为 Web 开发人员的最佳选择之一。...这样做的好处是 Tachyons 的开箱即用样式很轻巧,不需要其他设置。如果需要的话,仍然可以通过一些方法来减小尺寸。如果你需要易用的实用工具库,那么这应该是一个不错的选择。...Material Design for Bootstrap MDB 建立在 Bootstrap 之上,并提供了开箱即用的材料设计外观。...Skeleton 中的网格是一个 12 列的流体网格,最大宽度为 960px,随着浏览器或设备的缩小而缩小。可以用一行 CSS 更改最大宽度,并且所有列的大小都会相应进行调整。...它提供了响应式设计和移动设备优先的 UI 组件,并具有模块化结构,可让你只导入要包含在 Web 设计中的内容。Bulma 还提供了一个基于 flexbox 的现代网格系统。

11.4K10

移动开发之响应布局

1.优点 标准化的html+css编码规范 提供了一套简洁、直观、强悍的组件 有自己的生态圈,不断地更新迭代 让开发更简单,提高了开发的效率 2.2Bootstrap 使用 在现阶段我们还没有接触...JS相关课程,所以我们只考虑使用它的样式库 控制权在框架本身,使用者要按照框架所规定的某种规范进行开发。...1.cintainer类 响应式布局的容器 固定宽度 超小屏幕(100%) 小屏(>=768px):设置宽度为750px 中屏(>=992px):设置宽度为970px 大屏(>...=1200px):宽度设置为1170px 2.container-fluid类 流式布局容器 百分百宽度 占据全部视口(ciewport)的容器 适合于单独做移动开发 3.Bootstrap...,container的宽度不同,我们再把containei划分为12等份 3.2栅格选项参数 栅格系统用于通过一系列的行(row)与列(column)的组合来创建页面布局,你的内容就可以放入这些创建好的布局中

2.2K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    CSS Flexbox 可视化手册

    其中的项目不会自动伸展来适应整个宽度(主轴),为了做到这一点,它们会缩小。 ? 项目会被拉伸以适合交叉轴(在此示例中为高度)。...在第一部分中,容器高度设置为 100vh,因此可用空间被平均分为四行,来适合 300px项目的需要。 如果我们没有设置 100vh,容器的高度则会遵循项目内容的高度,如下图所示: ?...由于flexbox是单维度布局,所以在进行反转时,项目从下到上进行排列(对于行方向),但保持左右结构,只改变了交叉轴。...flex-grow:如果有额外的空间,每个项目应该如何放大 flex-shrink:如果没有足够的空间,应该如何缩小每个项目 flex-basis:在设置上述两个属性之前,该项目的大小应该是多少 flex-grow...由于没有空间容纳所需的总宽度 1500px,所以默认的flex shrink factor(弹性收缩系数)的值为1,这样会使每个项目的宽度均匀缩小到196px。 ?

    3.1K20

    「译」Flexbox 基本原理

    项目不会依靠伸展来适应整个宽度(主轴),相反,它们采用收缩的方式 ? 项目将会伸展以适应交叉轴(在这个例子中是高度)。如果各个项目的高度不同,它们将会伸展至与最高的那个项目等高。...但是为什么弹性项目会占据整个屏幕的高度呢?在第一部分,容器高度被设置为 100vh,因此可用空间被这四行平分以适应 300px 的项目。...假如我们没有设置 100vh,则容器高度将等于项目内容的高度,如下图所示 [1]: ? 另一个选项是 wrap-reverse,它将会反转交叉轴。...如果设置了容器高度,则 stretch 属性值会使所有的项目伸展至与容器等高;如果没有设置,则所有项目与最高的项目等高 [5]。上面第一张图片中容器高度设置为 100vh,第二张图片则没有设置高度。...flex-grow:如果有额外空间,每个项目应该如何伸展 flex-shrink:如果空间不足,每个项目应该如何收缩 flex-basis:在设置以上两个属性之前项目的大小 flex-grow 该属性设置的是弹性增长系数

    2K30

    Angular Material 的设计之美

    不会让开发人员感到困惑的简单 API。 在各种各样没有 bug 的用例中按预期行事。 通过单元测试和集成测试更好地测试行为。 可在 Material Design 规范的范围内进行定制。...我可以说一下自己的感受,Angular Material 的交互更加流畅,细节做的更好。 Angular Material 组件库虽然很优秀,但是却被戴上了只适合做 C 端界面的帽子。...我最开始认为将所有样式全部写到 mixin 中并不是很优雅的做法,但是在编写 ng-matero 暗黑主题的时候,我发现不这样做是不行的。以下是 Angular Material 主题定制的方法。...增加样式控制类可以说是最简单的主题切换方式,但是缺点就是同时拥有多套主题,代码量太大。如果只作为 DEMO 展示是没问题的,但是生产环境不推荐这样做。...mat-table 对表格列宽的首选操控方式是 CSS,起初我对这种方式也存在疑虑,但是在我亲自封装了 ng-zorro-antd 的表格组件之后,我发现一切都很自然。

    5K30

    移动端WEB开发之响应式布局

    bootstrap里面父容器版心的尺寸划分 超小屏幕(手机,小于 768px):设置宽度为 100% 小屏幕(平板,大于等于 768px):设置宽度为 750px 中等屏幕(桌面显示器,大于等于...4.x.x:最新版,目前还不是很流行 2.4bootstrap基本使用 在现阶段我们还没有接触JS相关课程,所以我们只考虑使用它的样式库。...1170px 中屏 ( >=992px) 宽度定为 970px 小屏 ( >=768px) 宽度定为 750px 超小屏 (100%) .container-fluid 流式布局容器...适合单独做移动端开发 2.6 bootstrap栅格系统 栅格系统英文为"grid systems" ,也有人翻译为“网格系统”,它是指将页面布局划分为等宽的列,然后通过列数的定义来模块化页面布局。...列嵌套最好加一个行 row 这样可以取消父元素的padding值,而且高度自动和父亲一样高 <!

    4.1K20

    Angular Elements 组件在非angular 页面中使用的DEMO

    ShadowDom  API  是谷歌自己一直强推的API,也一直未标准化的技术。2013年推出的chrome25中,就支持Shadow Dom v0的API,至今都没有其它浏览器附和谷歌的。...于是我就尝试一下,看这个构建的angular elements 文件到底如果引入一个空白的页面中,引入后的组件在浏览器中又是如何呈现的。      页面结构:      ?...注意:上下两个组件中,a,b两个列是定时变化的。...Angular Elements的开发技术和Angular普通组件是一致的,像Input属性,Output事件,  依赖注入的支持, 内容投影的支持(这个好像要用 来做)  ,总之并没有因为...按照以前看的文章说明,Native模式其实用的是Shadow Dom v0,并不是最新的技术,在2018.7.25号的6.1.0升级中,它又引入了新的封装方式ViewEncapsulation.Shadow

    2.7K20

    栅格化系统的原理以及实现

    通俗点来说,就是人为的把网页中的一行,等比例划分,比如将一行划分为 12 等分。然后在每个格子里进行页面开发,这就栅格化。 ?...页面上将会展示一个带有灰色边框的,宽度 100% 的矩形。如果手动控制浏览器放大缩小,此 DIV 也会相应的放大缩小,但宽度始终是 100%。...如果我将一行划分为 12 等分,那就跟 bootstrap 中的栅格化系统一模一样了,有 12 个格子。...@media 详情请看MDN 相信用过 bootstrap 栅格化系统的都知道,在 bootstrap 栅格化系统中,有一些 col-md col-sm 属性,它们是干什么用的呢?...其实,它们都是栅格化系统的 CSS 类名,只是针对了不同的屏幕宽度。 假如我们有这样的一个需求: 在 PC 上,因为屏幕比较大,我们要求一行显示 4 列的内容。

    1.6K40

    CSS3 的视口单位vw、vh实现自适应(带有px,em,rem的简单介绍)

    这样就会有个问题就是如果使用px的话我们就要根据不同电脑的分辨率来做自适应,有点麻烦。 2、em em是相对长度单位。...相对于当前对象内本文的字体尺寸(如果没有设置本文尺寸,那就是相对于浏览器默认的字体尺寸,也就是16px),这样计算的话。如果没有设置字体尺寸就是1em = 16px。...3、模仿bootstrap的栅栏布局 了解过bootstrap的都知道它的栅栏布局,而使用vw,vh就能够轻松实现。...总结: 个人认为视口单位是个用来做响应式布局很不错的单位,当然如果要使用vw,vh,我的建议是rem结合vw来开发,因为视口单位有个缺点就是它没有最小或者最大限制,这就达不到我们都时候所希望的一个限制...所以我们可以在根元素上设置vw和vh,然后在根元素上限制最大最小值,然后配合body设置最大最小宽度。

    2.1K10

    用Angule Cli创建Angular项目

    Angular4.0来了,更小,更快,改动少 接下来为Angular4.0准备环境和学会使用Angular cli项目 1.环境准备: 1)在开始工作之前我们必须设置好开发环境 如果你的机器上还没有安装...Installing packages for tooling via npm 这里如果你选这了淘宝的cnmp镜像,应该最好在安装完全局Angular cli后设置一下,保证正常下载工具 ng set...jquery --save 我们在项目中就添加了bootstrap和jQuery,我们可以在node_modules文件夹中找到他们(这个文件夹放的是第三方库); 然后我们需要操作.angular-cli.json...文件,把bootstrap和jQuery添加进去: 这里需要注意的是:因为angular用的是微软开发的typescript语言,我们需要在终端做下面的操作,以便让typescript认识bootstrap...这样我们就在项目中正常使用bootstrap和jQuery了 4)项目的启动 启动项目我们可以直接通过: ng serve 或者是 npm start 这两个的默认端口都是4200: http://

    1.5K60

    Android布局之表格布局

    表格布局是以行和列的形式来对控件进行管理的,所以我们来说说表格布局对行和列的确定 TableLayout的行数 在开发中由我们来直接指定,就是说有多少个TableRow对象或view控件就会有多少行。...:layout_span 指定该单元格占据的列数(如果我们在使用中没有指定,那么默认值将为1) 下面就来举例说明一下: Android:layout_column=”1″ 该控件在第...-- 第1个TableLayout,用于描述表中的列属性。...-- 第4个TableLayout,使用可伸展特性,并指定每个控件宽度一致,如1dip--> <TextView android:text="表4:均匀布局,控件宽度一致"...例如,学生信息这样的表,相对简单,如果用别的布局的话就比较麻烦信息也比较杂乱。

    3.8K20

    前端移动web-day05学习笔记

    01-bootstrap响应式布局框架学习 1.1-bootstrap介绍 1.什么是Bootstrap:Bootstrap是一个响应式布局的框架 Bootstrap作用场景:做响应式布局网页 框架:就是别人提前写好的...-- 加载 Bootstrap 的所有 JavaScript 插件。你也可以根据需要只加载单个插件。...container尺寸是固定的(1170,970,750,100%) container-fluid的尺寸是铺满全屏: 100% b.row:行 默认没有高度,背景色、边框 默认宽度为100% 继承版心的宽度...:响应式版心容器 默认样式: 没有高度、边框、颜色 左右15px的padding 宽度是响应式 屏幕宽度 宽度100% 768 宽度 宽度...-- (2)栅格系统 行 : row 默认样式: 没有高度,宽度100%, 左右-15px margin(目的:抵消版心的padding) --

    2.9K20

    (译)一篇对css网格布局的介绍

    css3 Grid Layout 表格布局是在css中强大的难以置信的布局模块。它是二维空间的,所以它可以处理行和列 它有些类似于Flexbox,但是又有本质的差别。...综合运用它们,可以帮助我们在css中实现在之前无法想象的布局 基础知识 1、定义表格容器 Grid 布局的开始都是开始于创建一个布局容器,可以通过在父元素声明display:grid;。...然后这并没有改变子元素的显示方式,因为我们只创建了一列。这里我们需要创建网格轨道来创建更多的列。一个网格轨道是相邻网格线之间的空间,实质就是行或者列。在上图中,每一个列之间的每个空间就是轨道。...如果我们想要在表格子元素之间插入一些空格,我们应该怎么做呢?grid-gap就是做这个的。...那如何定义宽度可变的表格呢? 使用像素单位是没法做自适用的布局的 其实我们有fr这个单位,fr代表网格容器中可用空间的一小部分。所以我们切换px到fr。

    3.4K30

    一篇文章搞定多列布局--等宽,等高,自适应

    多列布局在一个网页设计中非常常见,不仅可以用来做外部容器的布局,在一些局部也经常出现多列布局,比如下面圈出来的都是多列布局: 定宽 + 自适应 定宽 | 自适应 我们先讲一个最简单的两列布局,左边列定宽...两个子级设置display为table-cell,这样他们其实就相当于table的两个单元格。由于我们要固定左边的宽度,父级table应该使用布局优先,即table-layout: fixed;。...这种模式下,浏览器在接收表格第一行后就可以渲染出来,速度更快。 auto: 这是默认值,表示表格内容优先,列的宽度是由列单元格中没有折行的最宽的内容设定的。...如果没有间距,这个很好实现,每个元素宽度25%就行了,但是如果有间距,还设置25%,里面的内容就超出父容器了,就会掉下来。那应该怎么做呢?...在等高布局中,浮动元素的方案不是等高的,我们通过一个很大的内边距,然后一个负的外边距来进行补偿,这样虽然看起来解决了问题,但是元素的真是高度其实已经变了。

    3.1K10

    前端菜鸟是这样入门学习的,点进来!

    最后我觉得最难的就是实践,只有实践才能学到真正的技术,新人很难参与一些有价值有意义的项目,没有这些项目又很难成长,所以自己有项目可参与应该珍惜,没项目应该多造一些有价值的轮子。...pc版,钉钉的pc版 都是web前端来做的 2.怎么开始学习 两条路:自学或者找培训班,找培训班的话,我推荐达内和传智播客,在国内讲师质量都比较高。...然后被我狠狠骂了一顿 06,开始你的ui框架之旅 这个阶段我推荐从bootstrap开始,这个框架很经典,响应式的珊格系统被后来框架一直沿用,在我线下教学的那几年,我都会带着学生一起看bootstrap...,而这种竞争是在新手之中的竞争,在初级工程师、中级工程师、高级工程师是没有竞争的,很多人眼红前端工程师工资这么高,自己也想这样去拿高薪,但是大家不知道当初这些人在学习前端的时候是怎么学习的,才有今天,为了避免大家有这样错误的思想...二、现在的前端不是之前的网页制作,现在的前端更加高端,新手学习前端必须有一个学习规划,有一套系统的学习方案,这个方案的学习时间最好是半年,每天应该学习什么,心里应该有数,每个知识点应该做什么案例,而且要每天坚持学

    70810

    大漠穷秋:全面解读Angular 4.0核心特性

    @Angular/cli 我们需要有一个统一的node.js模块把所有node工具集成在一起,Angular/cli就是这样一个平台。...Angular中的3大核心概念 Angular中的3个核心的概念分别是“component”、“module”和“route”,“组件化”是Angular最核心的概念。...在前端需要对路由做一定的防护,但目前的防护还远远不够,最重头的还是在server端,Angular就提供了这样一些特性。...Angular还有一个最重要的设计特色就是数据绑定,它实现了双向数据绑定。双向数据绑定最低层有一个脏检查机制,要做这件事非常的难,所以在Angular之前没有人去做双向绑定。...例如ng2-bootstrap、PrimeNG和官方提供的Angular-Material2,在移动端也有Ionic支持。

    2.1K50

    table固定表头,tbody滚动条样式设置以及填的几个坑

    工作中或许会用到 table 表格固定表头, tbody 滚动的效果。为了方便我这里直接用的 Bootstrap 的表格样式。 ?...至于对齐,可以使用 固定宽度,只需要给第一行设置一个宽度,下面的会自动与之对齐。如果表格宽度是 100% ,可以给前几列固定宽度,最后一个不设置,使其宽度自适应。... 在 标签内添加 标签,统一设置列宽,注意,两个表格都需要加。...注意:因为我直接使用的 Bootstrap ,没有出现问题,如果是原生的表格样式出现对不齐的现象,可以尝试把 div 设置为盒模型: .table-box{     box-sizing: border-box...col 属性拓展: 标签可以为表格中一个或多个列定义属性值。 如需对全部列应用样式,则可以使用  标签,这样就不需要对各个单元和各行重复设置样式了。

    14.2K20

    Bootstrap学习文档(一)

    Bootstrap 中的js插件,不需要我们写 js 代码就能帮我们实现要用 js 来实现的效果,而是通过使用 Bootstrap 自定义的属性。...-- 让页面的最大宽度等于设备的宽度,页面初始化为不缩放状态,当然这样还是可以缩放的 --> <meta name="viewport" content="width=device-width,...栅格系统 Bootstrap 的布局容器 1.container-fluid 自适应宽度100% container 适应屏幕的固定宽度,要比container占的宽度小一些 屏幕宽度 >=...: red;">错误写法 Bootstrap 的栅格系统 在 Bootstrap 中一行分为 12列,也即是屏幕的宽度被分为了 12份,一份就是十二分之一的屏幕宽度,源码是通过宽度为百分比以及浮动实现的...嵌套 每一列里面都可以在嵌套一行和n(不能超过12)列,那嵌套里面的元素就会以父级的宽度为基准,再分12个列。

    2.8K20

    用VSCode开发一个asp.net core 2.0+angular 5项目(4): Angular5全局错误处理

    通过定义这些函数的内容, 我们就可以在执行run的回调前后添加自定义逻辑了. 回到Angular, angular的变化检测(Change Detection)功能就用到了这些东西....Angular用了这个猴子补丁, 使之运行在Zone里面, 当点击按钮的时候, 这段代码总是在Zone里面执行, 在执行完click处理方法之后, angular会执行变化检测动作. angular应该是这样来进行猴子补丁的...Zone.js就是一个执行的上下文, 它可以在不同的异步操作之间进行持久性传递. Angular就使用了这个库, 在它之上建立了ngZone这个模块....就这样angular在发生异步操作后进行到了变化检测. 浏览器里面主要有这几种异步操作: dom事件, ajax请求, 定时回调之类的. 回到项目里的app.error-handler.ts: ?...所以当错误发生的时候, toastr的error方法被调用了(状态改变了), 但是angular并不知道这个变化, 所以toastr通知没有显示. 那如何解决呢?

    1.5K50
    领券