简介

网页开发中,CSS控制网页样式。作为测试开发工程师,我个人不太擅长手写CSS、样式微调、兼容浏览器等工作,所以我选择使用成熟的前端框架,可以快速开发出样式美观的网站,也解决了大部分浏览器兼容问题。前端框架百花齐放,我们公司的产品使用了Bootstrap,我个人使用的是Semantic UI。

安装Semantic UI

首先需要安装node、全局安装gulp(我使用的是Mac环境):

  • brew install node
  • sudo npm install -g gulp

然后进入项目的静态文件目录,比如我的是/learnflask/static,执行npm install semantic-ui --save,进行一些Semantic UI的设置后,安装完成(我设置的Semantic UI目录是/learnflask/static/semantic)后cd到Semantic UI目录,执行gulp build命令。

使用Semantic UI

使用Semantic UI,只需要在HTML文件头部引入如下3个文件即可(使用了又拍云的jQuery的CDN):

<script src="http://upcdn.b0.upaiyun.com/libs/jquery/jquery-2.0.2.min.js"></script>
<link rel="stylesheet" type="text/css" href="semantic/dist/semantic.min.css">
<script src="semantic/dist/semantic.min.js"></script

按钮

学习前端框架无非是学习其各个组件,我们先从按钮开始。

标准按钮

<button type="button" class="ui button">Click</button>

样式如下: 

除了<button>标签外,<div>标签也可以创建按钮(样式同上):

<div class="ui button" tabindex="0">Click</div>

优先级按钮

 <button type="button" class="ui primary button">Primary</button>
<button type="button" class="ui secondary button">Secondary</button>

样式如下: 

动画效果按钮

水平切换

<div class="ui animated button" tabindex="0">
<div class="visible content">下一步</div>
<div class="hidden content">
<i class="right arrow icon"></i>
</div>
</div>

样式如下: 

垂直切换

<div class="ui vertical animated button" tabindex="0">
<div class="visible content">购物车</div>
<div class="hidden content">
<i class="shop icon"></i>
</div>
</div>

样式如下: 

淡入淡出

<div class="ui fade animated button">
<div class="visible content">购买</div>
<div class="hidden content">&yen;12.9/月</div>
</div>

样式如下: 

空心按钮

<button class="ui basic button">
<i class="user icon"></i> 个人信息
</button>

样式如下:

阴性、阳性按钮

<button class="ui positive button">Positive</button>
<button class="ui negative button">Negative</button>

样式如下: 

不同颜色的按钮

 <button class="ui red basic button">Red</button>
<button class="ui orange basic button">Orange</button>
<button class="ui yellow basic button">Yellow</button>
<button class="ui olive basic button">Olive</button>
<button class="ui green basic button">Green</button>
<button class="ui teal basic button">Teal</button>
<button class="ui blue basic button">Blue</button>
<button class="ui violet basic button">Violet</button>
<button class="ui purple basic button">Purple</button>
<button class="ui pink basic button">Pink</button>
<button class="ui brown basic button">Brown</button>
<button class="ui grey basic button">Grey</button>
<button class="ui black basic button">Black</button>
<button class="ui red button">Red</button>
<button class="ui orange button">Orange</button>
<button class="ui yellow button">Yellow</button>
<button class="ui olive button">Olive</button>
<button class="ui green button">Green</button>
<button class="ui teal button">Teal</button>
<button class="ui blue button">Blue</button>
<button class="ui violet button">Violet</button>
<button class="ui purple button">Purple</button>
<button class="ui pink button">Pink</button>
<button class="ui brown button">Brown</button>
<button class="ui grey button">Grey</button>
<button class="ui black button">Black</button>

样式如下: 

反转色按钮

 <div class="ui inverted segment">
<button class="ui inverted button">Standard</button>
<button class="ui inverted red button">Red</button>
<button class="ui inverted orange button">Orange</button>
<button class="ui inverted yellow button">Yellow</button>
<button class="ui inverted olive button">Olive</button>
<button class="ui inverted green button">Green</button>
<button class="ui inverted teal button">Teal</button>
<button class="ui inverted blue button">Blue</button>
<button class="ui inverted violet button">Violet</button>
<button class="ui inverted purple button">Purple</button>
<button class="ui inverted pink button">Pink</button>
<button class="ui inverted brown button">Brown</button>
<button class="ui inverted grey button">Grey</button>
<button class="ui inverted black button">Black</button>
</div>
<div class="ui inverted segment">
<button class="ui inverted basic button">Basic</button>
<button class="ui inverted red basic button">Basic Red</button>
<button class="ui inverted orange basic button">Basic Orange</button>
<button class="ui inverted yellow basic button">Basic Yellow</button>
<button class="ui inverted olive basic button">Basic Olive</button>
<button class="ui inverted green basic button">Basic Green</button>
<button class="ui inverted teal basic button">Basic Teal</button>
<button class="ui inverted blue basic button">Basic Blue</button>
<button class="ui inverted violet basic button">Basic Violet</button>
<button class="ui inverted purple basic button">Basic Purple</button>
<button class="ui inverted pink basic button">Basic Pink</button>
<button class="ui inverted brown basic button">Basic Brown</button>
<button class="ui inverted grey basic button">Basic Grey</button>
<button class="ui inverted black basic button">Basic Black</button>
</div>

样式如下: 

带图标的按钮

<div class="ui icon button">
<i class="cloud icon"></i> 云存储
</div>

样式如下: 

表示状态的按钮

激活状态

<button class="ui active button"><i class="user icon"></i>Logged In</button>

样式如下: 

不可点击的按钮

<button class="ui disabled button"><i class="user icon"></i>Disabled</button>

样式如下: 

加载状态按钮

<button class="ui loading button">加载中...</button>

样式如下: 

表示状态切换的按钮

样式如下:

带标签的按钮

默认标签在右侧

<div class="ui labeled button" tabindex="0">
<div class="ui button">
<i class="heart icon"></i>
Like
</div>
<a class="ui basic label">
2,048
</a>
</div>

样式如下: 

标签在左侧且带向右的箭头(蓝色实心)

<div class="ui left labeled button" tabindex="0">
<a class="ui blue right pointing basic label">1,024</a>
<div class="ui blue icon button">
<i class="fork icon"></i> Forks
</div>
</div>

样式如下: 

标签为图标的按钮

<button class="ui labeled icon button">
<i class="pause icon"></i> Pause
</button>
<button class="ui right labeled icon button">
<i class="right arrow icon"></i> Next
</button>
样式如下: 

按钮分组

普通按钮分组

可以为组设置统一的颜色:

<div class="ui blue buttons">
<button class="ui button active">One</button>
<button class="ui button">Two</button>
</div>

样式如下: 

还可以设置其他属性,比如按钮大小、是否空心等等。

垂直显示的分组

可以设置整个组为空心按钮:

<div class="ui basic vertical buttons">
<button class="ui button active">One</button>
<button class="ui button">Two</button>
</div>

样式如下: 

图标按钮分组

<div class="ui icon buttons">
<button class="ui button"><i class="align left icon"></i></button>
<button class="ui button"><i class="align center icon"></i></button>
<button class="ui button"><i class="align right icon"></i></button>
<button class="ui button"><i class="align justify icon"></i></button>
</div>
<div class="ui icon buttons">
<button class="ui button"><i class="bold icon"></i></button>
<button class="ui button"><i class="underline icon"></i></button>
<button class="ui button"><i class="text width icon"></i></button>
</div>

样式如下: 

带标签的按钮分组

 <div class="ui labeled icon buttons">
<button class="ui button"><i class="pause icon"></i> 暂停 </button>
<button class="ui button"><i class="play icon"></i> 播放 </button>
<button class="ui button"><i class="shuffle icon"></i> 随机 </button>
</div>

样式如下: 

混合类型的分组

  <div class="ui buttons">
<button class="ui labeled icon button"><i class="left chevron icon"></i> 前一首 </button>
<button class="ui button"><i class="stop icon"></i> 停止 </button>
<button class="ui right labeled icon button"> 后一首 <i class="right chevron icon"></i> </button>
</div>

样式如下: 

成员等宽的分组

在分组的设置中指明包含几个成员,则这几个成员平分所能占据的宽度:

<div class="five ui buttons">
<button class="ui button">One</button>
<button class="ui button">Two</button>
<button class="ui button">Three</button>
<button class="ui button">Four</button>
<button class="ui button">Five</button>
</div>

样式如下: 

成员颜色不同的分组

<div class="ui buttons">
<button class="ui red basic button">One</button>
<button class="ui blue basic button">Two</button>
<button class="ui green basic button">Three</button>
</div>

样式如下: 

表示文件操作的按钮组

<div class="ui small basic icon buttons">
<button class="ui button"><i class="file icon"></i></button>
<button class="ui button"><i class="save icon"></i></button>
<button class="ui button"><i class="upload icon"></i></button>
<button class="ui button"><i class="download icon"></i></button>
</div>

样式如下: 

包含条件的按钮

如果是中文,需要配合Semantic UI的data-text属性为中间的or添加本地文本:

<div class="ui buttons">
<button class="ui button">Register</button>
<div class="or"></div>
<button class="ui positive button">Login</button>
</div>
<div class="ui buttons">
<button class="ui button">注册</button>
<div class="or" data-text="或"></div>
<button class="ui positive button">登录</button>
</div>

样式如下: 

不同大小的按钮

<button class="mini ui button">Mini </button>
<button class="tiny ui button">Tiny </button>
<button class="small ui button">Small </button>
<button class="medium ui button">Medium </button>
<button class="large ui button">Large </button>
<button class="big ui button">Big </button>
<button class="huge ui button">Huge </button>
<button class="massive ui button">Massive </button>

样式如下: 

紧凑的按钮

    <button class="compact ui button">普通</button>
<button class="ui compact icon button">
<i class="pause icon"></i>
</button>
<button class="ui compact labeled icon button"><i class="pause icon"></i> 暂停</button>

样式如下: 

圆形按钮

<button class="ui circular icon button">
<i class="settings icon"></i>
</button>

样式如下: 

不同位置的按钮

左右浮动的按钮

<button class="ui right floated button">右浮动</button>
<button class="ui left floated button">左浮动</button>

样式如下: 

充满整个容器的按钮

<button class="fluid ui button">Fluid</button>

样式如下: 

固定在顶部和底部的按钮

<div class="ui top attached button" tabindex="0">顶部按钮</div>
<div class="ui attached segment">
<p>这是一个段落。</p>
</div>
<div class="ui bottom attached button" tabindex="0">底部按钮</div>

样式如下: 

固定在顶部和底部的多个按钮

<div class="ui two top attached buttons">
<div class="ui button">左上角</div>
<div class="ui button">右上角</div>
</div>
<div class="ui attached segment">
<p>这是一个段落。</p>
</div>
<div class="ui two bottom attached buttons">
<div class="ui button">左下角</div>
<div class="ui button">右下角</div>
</div>

样式如下: 

固定在左右的按钮

<button class="ui left attached button"> 左</button>
<button class="ui right attached button"> 右</button>

样式如下: 

160908、前端开发框架Semantic UI的更多相关文章

  1. Semantic UI – 完全语义化的前端界面开发框架

    Semantic UI 是一个 UI 库,使前端开发更简单,更容易学习.Semantic UI 介绍了许多界面元素.在大多数情况下,只有你需要的元素建立一个自定义的构建可能是最好的. UI 组件分为四 ...

  2. 目前几款基于html5的前端框架:如Bootstrap、Foundation、Semantic UI 、Amaze UI

    Bootstrap是由Twitter在2011年8月推出的开源WEB前端框架,集合CSS 和HTML,使用了最新的浏览器技术,为快速WEB开发提供了一套前端工具包,包括布局.网格.表格.按钮.表单.导 ...

  3. Semantic UI 语义化设计的前端框架

    UI是Web的灵魂!Semantic UI是一款语义化设计的前端框架,为攻城师而制作的可复用的开源前端框架. 特性 弃用有歧义的表述 Semantic是围绕自然交流语言而架构的,这使得开发更加直观(易 ...

  4. Semantic UI 中文参考手册

    一个拥有友好词汇表的前端框架,完全语义化的前端界面开发框架,为一组开发人员之间共享UI元素配备了规格.使用的词汇(类和ID)相比其它替代品更加简洁,从而降低了学习曲线.有许多HTML元素,UI元素和场 ...

  5. 前端Js框架 UI框架汇总 特性 适用范围 选择

    身为一个资深后端工程师,面对层出不穷的前端框架,总让人眼花缭乱,做一个综合解析贴,从全局着眼,让我们明白各种前端框架的应用范围,为如何选择前端框架,从不同的维度提供一些线索,做为一个长期优化贴,欢迎指 ...

  6. Web前端开发框架大全-详述

    可以说,前端技术的发展是互联网自身发展的一个缩影! 前端技术的发展经历了web1.0时代,即网页只能展示信息,几乎没有交互可言: web2.0时代,web2.0不再是单维的,逐渐发展为双向交流,另一特 ...

  7. semantic UI first web

    官方文档:https://semantic-ui.com/introduction/getting-started.html semantic  UI: SemanticUI是一款语义化设计的前端开源 ...

  8. 2017年当下最值得你关注的前端开发框架,不知道你就OUT了!

    近几年随着 jQuery.Ext 以及 CSS3 的发展,以 Bootstrap 为代表的前端开发框架如雨后春笋般挤入视野,可谓应接不暇. 在这篇分享中,我将总结2017年当下最值得你关注的前端开发框 ...

  9. 目前比较火的前端框架及UI组件

    看到的一篇总结性的文章,收藏一下,感兴趣的可以自己看看,哪些是已经会的,哪些是没听说过的,哪些是一知半解的,都可以稍微看看. 一.前端框架库: 1.Zepto.js 地址:点击打开链接 描述:Zept ...

随机推荐

  1. Sequential Read Ahead For SQL Server

    Balancing CPU and I/O throughput is essential to achieve good overall performance and to maximize ha ...

  2. web前端学习网址

    最近一次电脑崩溃,重装系统所有在浏览器的网址,烟霄云散了…… 手册网址: http://www.shouce.ren/api/index demo学习网址: http://www.w3cplus.co ...

  3. Linux就这个范儿 第14章 身在江湖

    Linux就这个范儿 第14章 身在江湖 “有人的地方就有江湖”,如今的计算机世界就像一个“江湖”.且不说冠希哥有多么无奈,把微博当QQ的局长有多么失败,就说如此平凡的你我什么时候就成了任人摆布的羔羊 ...

  4. Linux 中的零拷贝技术,第 2 部分

    技术实现 本系列由两篇文章组成,介绍了当前用于 Linux 操作系统上的几种零拷贝技术,简单描述了各种零拷贝技术的实现,以及它们的特点和适用场景.第一部分主要介绍了一些零拷贝技术的相关背景知识,简要概 ...

  5. [BS-07] 创建和使用PCH File

    创建和使用PCH File 1.创建PCH File File - iOS Other - PCH File - PrefixHeader.pch 写法如下: #ifndef PrefixHeader ...

  6. 什么是BI及哪些行业需要用到BI?

    什么是BI?哪些行业需要用到BI?BI——就是分析利用企业已有的各种商用数据来了解企业的经营状况和外部环境,从而为企业的经营决策提供数据支撑.下面我们来详细分解下: 企业应用BI的目标即是期望通过对来 ...

  7. javascript原生dom操作方法

    一.节点层次属性 考虑空白符的相关层次关系属性: 1.childNodes属性 包含 2.parentNode属性 3.previouseSibling属性和nextSibling属性 4.first ...

  8. 异常处理原则--good

    异常机制是现代主流语言的标配,但是异常处理问题虽然已经被讨论很多,也有很多经典书籍的论述,却一直都充满争议.很多人都觉得异常处理很难拿捏,同时也难以理解一些语言或库的异常处理设计.我使用Java近10 ...

  9. How to use JDBC-Authentication of Spring Boot/Spring Security with Flyway

    java.lang.IllegalStateException: Failed to load ApplicationContext at org.springframework.test.conte ...

  10. Java基础之创建窗口——使用边界布局管理器(TryBorderLayout)

    控制台程序. 边界布局管理器最多能在容器中放置5个组件.在这种布局管理器中,可以把组件放在容器的任意一个边界上,也可以把组件放在容器的中心.每个位置只能放置一个组件.如果把组件放置在已被占用的边界上, ...