bulma 这款css框架如何?有啥优缺点?适用于哪些项目的开发。

html-css011

bulma 这款css框架如何?有啥优缺点?适用于哪些项目的开发。,第1张

网页样式需要大量时间开发,最省事的方法就是使用 CSS 框架。

Bootstrap 是最著名的 CSS 框架,但是今天我想推荐另一个更轻量化、更易用的框架—-Bulma。有了它,即使完全不懂 CSS,也可以轻而易举做出美观的网页。

我要感谢 100offer 对我提供赞助。100offer 是国内第一流的人力资源网站,本文结尾有他们的简介,最近想换工作的朋友可以看一下。

一、简介

Bulma 框架最大的特点,就是简单好用。所有样式都基于class,只需为 HTML 元素指定class,样式立刻生效。

JavaScript

1

<a class="button is-primary is-large">Login</a>

上面代码中,a 元素只需加上几个class,就会出现一个主色调(is-primary)的大(is-large)按钮。

Bulma 是一个手机优先的框架,提供五个宽度断点,具有良好的自适应特性,可以随心所欲为不同设备设置不同样式。

mobile:小于等于768px

tablet:大于等于769px

desktop:大于等于1024px

widescreen:大于等于1216px

fullhd:大于等于1408px

它提供二十多种常用组件,比如表单 、表格、图标、面包屑、菜单、导航、Modal 窗口等等。简单的网站,可以不用写任何 CSS 代码。

二、基本用法

Bulma 的安装只需一步,把样式表插入网页即可。

JavaScript

1

   

<link rel="stylesheet" href="css/bulma.min.css"/>

   

使用更简单,就是为 HTML 元素加上class。

JavaScript

1

   

<a class="button">Button</a>

   

上面的代码为 a 元素加上button类,这个链接就会被渲染成按钮。

Bulma 提供大量的修饰类,用来改变基类的样式。它们都是以is-或has-开头。比如,要改变 Button 的大小,就可以使用下面的修饰类。

JavaScript

1

2

3

4

   

a class="button is-small">Small</a>

<a class="button">Normal</a>

<a class="button is-medium">Medium</a>

<a class="button is-large">Large</a>

   

作者:匿名用户

链接:http://www.zhihu.com/question/39377015/answer/81017680

来源:知乎

著作权归作者所有,转载请联系作者获得授权。

此榜单根据github上star数作为排名依据,一个人力量有限,如果收集有遗漏欢迎补充。

1、名称:Bootstrap

类别/语言:HTML、CSS、JavaScript

创建者: Twitter

人气:在Github上有91007 stars

描述:主流框架中毋庸置疑的老大,Bootstrap 是基于 HTML、CSS、JavaScript 的,它简洁灵活,使得 Web 开发更加快捷。

核心概念/原则: RWD 和移动优先制。

浏览器支持: Firefox, Chrome, Safari, IE8+ (你需要 Respond.js for IE8)

响应式: Yes

模块化: Yes

官网地址:Bootstrap · The world's most popular mobile-first and responsive front-end framework.

Github地址:twbs/bootstrap · GitHub

2、名称:html5-boilerplate

类别/语言:HTML、CSS、JavaScript

创建者:Paul Irish

人气:在Github上有32,349 stars

描述:HTML5 Boilerplate 帮你构建 快速, 健壮, 并且 适应力强 的web app或网站。

核心概念/原则:响应式

浏览器支持:Firefox, Chrome, Safari, IE8+,Edge,Opera

预处理器:None

响应式:Yes

模块化:Yes

官网地址:HTML5 Boilerplate: T

Github地址:h5bp/html5-boilerplate · GitHub

3、名称:Meteor

类别/语言:HTML、CSS、JavaScript

创建者:immir

人气:在Github上有31,092 stars

描述:Meteor是新一代的开发即时web应用的开源框架,它能帮助你在最少的时间内完成开发。

核心概念/原则:响应式

预处理器: Less

响应式: Yes

模块化: Yes

官网地址:Meteor

Github地址:meteor/meteor · GitHub

4、名称:Semantic UI

类别/语言:HTML、CSS、JavaScript

创建者: Jack Lukic

人气: 在Github上有22,325 stars

描述: “基于自然语言有效原则的UI组件框架”

核心概念/原则: 语义,标签的矛盾性、响应式

浏览器支持:Firefox, Chrome, Safari, IE10+ (IE9 with browser prefix only), Android 4, Blackberry 10。

预处理器: Less

响应式: Yes

模块化: Yes

官网地址:Semantic UI

Github地址:Semantic-Org/Semantic-UI · GitHub

5、名称:Foundation

类别/语言:HTML、CSS、JavaScript

创建者: ZURB

人气: 在Github上有22,206+ stars

描述: “世界上最优秀的响应式前端框架”

核心概念/原则: RWD 、手机优先、语义的

浏览器支持: Chrome, Firefox, Safari, IE9+iOS, Android, Windows Phone 7+

预处理器: Sass

响应式: Yes

模块化: Yes

官网地址:Foundation | The most advanced responsive front-end framework in the world.

Github地址:zurb/foundation-sites · GitHub

6、名称:Materialize

类别/语言:CSS

创建者:Google

人气:在Github上有15,288stars

描述:Materialize是一个个基于材料设计的一个现代化的响应式前端框架。他们做了最繁重的工作,为您提供默认的样式,结合了您的自定义组件。此外,他们还改进动画和过渡,为开发人员提供流畅的体验。

核心概念/原则:响应式

预处理器:Sass

响应式:Yes

模块化:Yes

官网地址:Documentation

Github地址:Dogfalo/materialize · GitHub

浏览器支持:Chrome 35+, Firefox 31+, Safari 7+, IE 10+

7、名称:Pure

类别/语言:CSS

创建者: Yahoo

人气: 在Github上有13,161 stars

描述: “您可以在每一个web项目中使用的一组小的和响应式的CSS模块”

核心概念/原则:SMACSS,极简的.

浏览器支持:Firefox的最新版本, Chrome, SafariIE7+iOS 6.x, 7.xAndroid 4.x

预处理器: None

响应式: Yes

模块化: Yes

官网地址:http://purecss.io/

Github地址:yahoo/pure · GitHub

8、名称:Vue

类别/语言:CSS、JavaScript

创建者:尤雨溪

人气:在Github上有12,214 stars

描述:Vue.js 是用于构建交互式的 Web 界面的库。它提供了 MVVM 数据绑定和一个可组合的组件系统,具有简单、灵活的 API。

核心概念/原则:响应式

浏览器支持:Firefox, Chrome, Safari, IE9+,Android 4.2+,iOS 7+

预处理器:None

响应式:Yes

模块化:Yes

官网地址:vue.js

Github地址:vuejs/vue · GitHub

9、名称:Skeleton

类别/语言:CSS、JavaScript

创建者:Dave Gamache

人气:在Github上有10,622stars

描述:Skeleton 是一个小的 JS 和 CSS 文件的集合,可帮你快速开发漂亮的网站,适合各种屏幕设备包括手机。Skeleton 基于 960 grid 开发。它是一个 UI 框架。

核心概念/原则:响应式

浏览器支持:Firefox, Chrome, Safari, IE10+,Opera

预处理器:None

响应式:Yes

模块化:Yes

官网地址:Skeleton: Responsive CSS Boilerplate

Github地址:dhg/Skeleton · GitHub

10.名称: Amaze UI

类别/语言:HTML、CSS、JavaScript

创建者:云适配

最后更新时间:2015年12月

人气:在Github上有6425 stars

描述:国内首个开源HTML5跨屏前端框架,中文排版支持更优、本土化组件丰富。

并在2015年11月推出基于 React.js 的专属移动端 Web 组件库Amaze UI touch。

核心概念/原则:组件化、移动优先、轻量级、高性能。

浏览器支持: Firefox, Chrome, Safari, IE8+

响应式: Yes

模块化: Yes

官网地址:Amaze UI | 中国首个开源 HTML5 跨屏前端框架

Github地址:amazeui/amazeui · GitHub

11、名称:UIkit

类别/语言:HTML、CSS、JavaScript

创建者: YOOtheme

人气: 在Github上有6,050+ stars

描述: “一个轻量级的和模块化的前端框架,用于快速开发和功能强大的web接口。”

核心概念/原则:RWD, 手机优先.

预处理器: Less, Sass

响应式: Yes

模块化: Yes

官网地址:UIkit

Github地址:uikit/uikit · GitHub

浏览器支持: Chrome, Firefox, Safari, IE9+

12、名称:Yui

类别/语言:CSS、JavaScript

创建者:Yahoo

人气:在Github上有3,200+ stars

描述:Yahoo! UI Library (YUI) 是一个开放源代码的 JavaScript 函数库,为了能建立一个高互动的网页,它采用了AJAX, DHTML 和 DOM 等程式码技术。它也包含了许多 CSS 资源。使用授权为 BSD许可证

核心概念/原则:响应式

预处理器: None

响应式:Yes

模块化:Yes

官网地址:http://yuilibrary.com/

Github地址:yui/yui3 · GitHub

浏览器支持:Firefox, Chrome, Safari, IE10+,Opera

13.名称:kissy

类别/语言: JavaScript

创建者:淘宝前端

最后更新时间:2015年7月

人气:在Github上有2035 stars

描述:KISSY 是一款跨终端、模块化、高性能、使用简单的 JavaScript 框架。

框架大小: 37 KB

核心概念/原则: 模块化,跨终端,高扩展性

模块化: Yes

官网地址:KISSY - A Powerful JavaScript Framework

Github地址:kissyteam/kissy · GitHub

14.名称:MUI

类别/语言: HTML、CSS、JavaScript

创建者:Dclould

最后更新时间:2016年1月

人气:在Github上有2012 stars

描述:MUI-最接近原生App体验的前端框架框架。

核心概念/原则: 多端发布、高性能

响应式: NO

模块化: Yes

官网地址:MUI-最接近原生APP体验的高性能前端框架

Github地址:dcloudio/mui · GitHub

15.名称:Arale

类别/语言: JavaScript

创建者:支付宝前端

最后更新时间:2015年7月

人气:在Github上有1252 stars

描述:Arale 是一个开放、简单、易用的前端基础类库。

框架大小:未知

核心概念/原则: 开放、简单、易用

浏览器支持:Firefox, Chrome, Safari, IE6+

响应式: Yes

模块化: Yes

官网地址:Arale - 随心构建互联网应用

Github地址:aralejs/aralejs.org · GitHub

16.名称:JX

类别/语言:Javascript

创建者:腾讯前端

最后更新时间:2015年12月

人气:在Github上有952 stars

描述:JX 是模块化的非侵入式Web前端框架,特别适合构建和组织大规模、工业级的Web App。

框架大小: 未知

核心概念/原则: 保持最优执行效率

浏览器支持: 兼容主流浏览器

模块化: Yes

官网地址:JX - 腾讯 Web 前端开发框架

Github地址:AlloyTeam/JX · GitHub

17.名称:GMU

类别/语言:HTML、CSS、JavaScript

创建者:百度前端

最后更新时间:2015年12月

人气:在Github上有940stars

描述:GMU是基于zepto的mobile UI组件库,提供webapp、pad端简单易用的UI组件! Web App。

核心概念/原则: 简单易用、轻量级

模块化: Yes

官网地址:http://gmu.baidu.com/

Github地址:fex-team/GMU · GitHub

18.名称:ZUI

类别/语言: HTML、CSS、JavaScript

创建者:蝉道

最后更新时间:2015年7月

人气:在Github上有616 stars

描述:开源HTML5前端框架

核心概念/原则:简单易用、轻量级、易于定制

浏览器支持:未知

官网地址:ZUI - 开源HTML5跨屏框架

Github地址:easysoft/zui · GitHub

19.名称:Clouda Touch.js

类别/语言:JavaScript

创建者:百度云

人气:在Github上有387 stars

描述:Touch.js是移动设备上的手势识别与事件库,也是在百度内部广泛使用的开发。

核心概念/原则: 无入侵设计、媲美原生的交互、极简的API

模块化: Yes

官网地址:Touch.js

Github地址:Clouda-team/touch.code.baidu.com · GitHub

20.名称:Arkui

类别/语言:HTML、CSS、JavaScript

创建者:豆瓣

人气:在Github上有129 stars

模块化: Yes

官网地址:arkui

Github地址:mockee/arkui · GitHub

1、绝对定位

在绝大过程中,想确定一个元素在网站当中的固定位置,绝对定位是实现这个方式的解决办法。在网页当中,绝对定位可精确的控制元素在网页当中的位置,我们可使用顶部、底部、左侧和右侧,附上一个像素值来控制元素所在的位置。

position:absolutetop:50pxright:50px

上面的CSS设置一个元素的位置从浏览器的顶部和右边保持50px。你也可以在div内使用绝对定位。

2、覆盖所有样式

写CSS的时候都应该知道,当你想给一个元素添加一个新的CSS样式,但这个样式之前已经被定义过了。此时我们可以采用!important来定义。

例如,如果我想在我的网站的特定部分的H3标题是红色而不是黄色,可以使用下面的CSS:

.section h3 {color:red !important}

3、居中

居中分很多情况,一般会分成文本居中和DIV的内容居中。

文本居中

文本居中使用text-align:center。如果想让文本在左右两侧,可以使用左侧或右侧。

DIV内容

DIV内容居中跟文本居中不一样。CSS可以这样定义:

#div1 { display: blockmargin: autowidth: anything under 100% }

把宽度设置为“100%以下”的原因是因为如果它是100%宽度,那么如果是全宽度,并且不需要居中。最好有一个固定的宽度,如60%或550像素等。

4、垂直对齐(对于一行文本)

要使菜单的高度和文本的行高一致,可以这么设置:

.nav li{line-height:50pxheight:50px}

5、悬停效果

这适用于按钮,文本链接,网站的部分,图标等等。如果你想做一个悬停效果,可以试试:

.entry h2{font-size:36pxcolor:#000font-weight:800} .entry h2:hover{color:#ffeb3b}

这个功能可以让你的h2标签的颜色从黑色变成黄色。

6、悬停效果过渡

对于悬停效果,如使用菜单或网站上的图像,我们肯定不希望颜色快速贴近结果,所以我们可以通过使用时间变化来达到过渡的效果。

.entry h2:hover{color:#ffeb3btransition: all 0.5s ease}

这就使得样式上的改变,可以是从黑色变黄色的过渡时间是0.5秒,而不是立即变成黄色。这使得悬停效果更加和谐而不会显得太突兀。

7、a标签的状态

我们在遇到a标签的时候,一定要给a标签做样式定义,否则特别容易造成用户在使用上的困惑。通过样式可以让用户知道这个链接是否被点击过,更利于用户体验。

a:link {color: blue} a:visited {color: red}

8、轻松调整图像大小以适应

说到这个样式,我之前不知道可以通过以下方式达到图片的自适应效果。作为一个新手,我相信这个效果肯定有很多人都想做,当然,我提供的方法也只是其中的一种:

img {max-width:100%height:auto}

这个样式意味着最大的图像可能是100%,并根据图像宽度自动计算高度。在某些情况下,您可能还必须指定宽度为100%。

9、父级元素和子元素

如果ni不希望选择任意的后代元素,而是希望缩小范围,只选择某个元素的子元素,请使用子元素选择器:

h1 >strong {color:red}

特殊情况下你可能会想定义第N个子元素的样式,这样就可以用到下面这个样式:li:nth-child(n)

具体的使用方法可以去w3school上看。

10、将CSS应用于多个类或选择器

如果你想要在所有图片,博客部分和侧边栏上添加相同的边框。你不必写出相同的CSS样式重复3次。只需列出这些项目,用逗号分隔:

.blog,img,.sidebar {border: 1px solid #000}