Bootstrap之CSS架构的设计思想

2024-05-24 06:08

本文主要是介绍Bootstrap之CSS架构的设计思想,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

整体上,不同名的样式可以叠加到一起使用,同名的样式,后面的会覆盖前面的,从而到达组合应用的效果,整个CSS组件有8大类型的样式,然后根据每个组件的特性,来组装这些类型的特性,从而达到丰富多彩的配置效果,如下图所示:



一、基础样式

在基本样式里,一般是定义该样式下的字体(font-)、外内边距(padding,margin)、显示方式(display)、边框(border)以及其他相关的内容,例如,警告框基础样式源码:

.alert { /* 基本的警告框设置 */
padding: 15px;
margin-bottom: 20px;
border: 1px solid transparent;
border-radius: 4px;
}

又如,按钮组件(btn)的基本样式,除此之外还定义了文本、display、focus、hover的基础样式,可查看Bootstrap.css进行验证。

二、颜色样式

Bootstrap默认为很多组件都提供了5种颜色的样式,这5种颜色分别是:primary(重点蓝)、success(成功绿)、info(信息蓝)、warning(警告橙)、danger(危险红)。定义规则是:组件名称-颜色类型,如btn-primary、alert-info。

在定义不同颜色样式的时候,主要是定义文本颜色、边框颜色、背景颜色等,具体定义什么颜色和该组件的特性有关。例如,btn、panel、alert三个组件在定义颜色样式时
的代码如下所示:

/* btn */
.btn-primary {
color: #ffffff; background-color: #428bca; border-color: #357ebd;
} /* panel */
.panel-success {
border-color: #d6e9c6;
} .
panel-success >
.
panel-heading {
color: #468847; background-color: #dff0d8; border-color: #d6e9c6;
} /* alert */
.alert-success {
color: #468847; background-color: #dff0d8; border-color: #d6e9c6;
} .
alert-success hr {
border-top-color: #c9e2b3;
}

而对于一些可单击元素,比如btn按钮,还要特殊处理按钮在hover、focus、active状态时的颜色,以便让这些状态在同一个风格下表现一致。其源码如下所示:

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary.active,
.open .dropdown-toggle.btn-primary {
color: #fff;
background-color: #3276b1;
border-color: #285e8e;
}

使用方式就像Bootstrap宣传的那样,将两个样式叠加在一起使用即可。示例如下所示:(注意每个标签的class属性值!)

<button type=“button” class=“btn btn-primary”>Primary</button>
<button type=“button” class=“btn btn-success”>Success</button>
<div class=“alert alert-warning”>…</div>
<div class=“alert alert-danger”>…</div>


三、尺寸样式

Bootstrap也为大部分组件都提供了尺寸的快捷设置。一般组件都有4种尺寸:超小(xs)、小型(sm)、普通、大型(lg)。使用示例如下所示

<button type=“button” class=“btn btn-xs”>Primary</button>
<button type=“button” class=“btn btn-lg”>Success</button>
<div class=“well well-lg”>…</div>
<div class=“well well-sm”>…</div>

调整尺寸主要是调整所对应元素的padding和圆角设置,有时候也会相应调整行间距和字体大小。btn按钮和well组件在尺寸方面的设置源码如下所示:

.btn-lg {
padding: 10px 16px;
font-size: 18px;
line-height: 1.33;
border-radius: 6px;
} 
.well-lg {
padding: 24px; /*加大内边距*/
border-radius: 6px; /*加大圆角设置*/
} .
well-sm {
padding: 9px; /*减少内边距*/
border-radius: 3px; /*减少圆角设置*/
}
同一个组件的不同类型的样式可以组合在一起使用,比如颜色样式btn-success和尺寸样式btn-lg一起使用:

<button type=“button” class=“btn btn-success btn-lg”>Success</button>

四、状态样式

有一些可单击元素,经常需要根据状态来显示其效果,比如高亮可用的时候用active样式,禁用的时候用disabled样式或disabled属性。Bootstrap的一部分组件针对这种元素也都进行了处理,例如btn按钮的样式定义如下所示:

.btn:active,
.btn.active {
background-image: none;
outline: 0; /* 消除outline*/
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125); /*定义阴影*/
box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
} .
btn.disabled,
.btn[disabled],
fieldset[disabled] .btn {
pointer-events: none;
cursor: not-allowed;
filter: alpha(opacity=65);
-webkit-box-shadow: none; /* 去除阴影*/
box-shadow: none;
opacity: .65; /* 透明处理*/
}

五、特使元素样式

所谓特殊元素,即特定类型的组件一般只使用某一种或者几种固定的元素,比如alert警告框内一般只用警告标题、内容和关闭链接元素,再如导航(nav)里的经常用的li元素。在定义这些组件的时候,也要为这些常用的元素定义其相关的默认样式。总之,要为各种情况设置相应的内容,以保持风格的统一

六、并列元素样式

一个组件内部需要放置多个子元素,比如导航组件(nav)里可以放置多个li元素,按钮组里可以放置多个button元素。如果有这种情况,就需要处理这样并列元素的间距问题了。一般来说,只需要考虑两方面即可:其一水平并列时候的左右内边距(padding-left、padding-right)和外边距(margin-left、margin-right);其二:垂直并列时的上下内边距(padding-top、padding-bottom)和外边距(margintop、margin-bottom)。

例如,在alert组件中,有时会有两段内容,就会需要两个P元素,这是需要处理上下内边距,css源码如下:

.alert > p {
margin-bottom: 0; /* alert内的p元素和ul元素的底部外边距设置 */
} .
alert >p+p{
margin-top: 5px; /*两个段落之间,增加一个顶部外边距*/
}
而在模态弹窗组件(modal)的底部,经常需要显示多个按钮(比如:“保存”、“取消”等),这时候就需要处理水平并列的情况了。源码如下所示:

.modal-footer .btn + .btn {
/* 底部区域内的按钮样式设置,如果有多个按钮,设置左部外边距 */
margin-bottom: 0;
margin-left: 5px;
}

七、嵌套子元素样式

当将两个相同或不同的组件嵌套在一起时使用时,会出现一些特使情况,如,多个分组按钮一起使用的时候,就需要考虑浮动方向和间距,css源码如下:

.btn-group .btn + .btn,
.btn-group .btn + .btn-group,
.btn-group .btn-group + .btn,
.btn-group .btn-group + .btn-group {
margin-left: -1px;/* 消除2个按钮(或一个按钮和另外一个按钮组)之间的1像素细节引
起的冲突 */
} .
btn-group >.btn-group {
float: left;
}


八、动画样式

在Bootstrap里,动画样式应用的很少,如在进度条里会使用,只需在progress样式上应用一个active样式,即可开启动画过渡效果,如下代码所示:

<div class=“progress progress-striped active”>
<span style="white-space:pre">	</span><div class=“progress-bar” style=“width: 45%”>
<span style="white-space:pre">	</span><span class=“sr-only”>45% Complete</span></div>
</div>




这篇关于Bootstrap之CSS架构的设计思想的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/997591

相关文章

mysql中的服务器架构详解

《mysql中的服务器架构详解》:本文主要介绍mysql中的服务器架构,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、mysql服务器架构解释3、总结1、背景简单理解一下mysqphpl的服务器架构。2、mysjsql服务器架构解释mysql的架

前端如何通过nginx访问本地端口

《前端如何通过nginx访问本地端口》:本文主要介绍前端如何通过nginx访问本地端口的问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录一、nginx安装1、下载(1)下载地址(2)系统选择(3)版本选择2、安装部署(1)解压(2)配置文件修改(3)启动(4)

HTML中meta标签的常见使用案例(示例详解)

《HTML中meta标签的常见使用案例(示例详解)》HTMLmeta标签用于提供文档元数据,涵盖字符编码、SEO优化、社交媒体集成、移动设备适配、浏览器控制及安全隐私设置,优化页面显示与搜索引擎索引... 目录html中meta标签的常见使用案例一、基础功能二、搜索引擎优化(seo)三、社交媒体集成四、移动

HTML input 标签示例详解

《HTMLinput标签示例详解》input标签主要用于接收用户的输入,随type属性值的不同,变换其具体功能,本文通过实例图文并茂的形式给大家介绍HTMLinput标签,感兴趣的朋友一... 目录通用属性输入框单行文本输入框 text密码输入框 password数字输入框 number电子邮件输入编程框

HTML img标签和超链接标签详细介绍

《HTMLimg标签和超链接标签详细介绍》:本文主要介绍了HTML中img标签的使用,包括src属性(指定图片路径)、相对/绝对路径区别、alt替代文本、title提示、宽高控制及边框设置等,详细内容请阅读本文,希望能对你有所帮助... 目录img 标签src 属性alt 属性title 属性width/h

CSS3打造的现代交互式登录界面详细实现过程

《CSS3打造的现代交互式登录界面详细实现过程》本文介绍CSS3和jQuery在登录界面设计中的应用,涵盖动画、选择器、自定义字体及盒模型技术,提升界面美观与交互性,同时优化性能和可访问性,感兴趣的朋... 目录1. css3用户登录界面设计概述1.1 用户界面设计的重要性1.2 CSS3的新特性与优势1.

k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)

《k8s上运行的mysql、mariadb数据库的备份记录(支持x86和arm两种架构)》本文记录在K8s上运行的MySQL/MariaDB备份方案,通过工具容器执行mysqldump,结合定时任务实... 目录前言一、获取需要备份的数据库的信息二、备份步骤1.准备工作(X86)1.准备工作(arm)2.手

HTML5 中的<button>标签用法和特征

《HTML5中的<button>标签用法和特征》在HTML5中,button标签用于定义一个可点击的按钮,它是创建交互式网页的重要元素之一,本文将深入解析HTML5中的button标签,详细介绍其属... 目录引言<button> 标签的基本用法<button> 标签的属性typevaluedisabled

HTML5实现的移动端购物车自动结算功能示例代码

《HTML5实现的移动端购物车自动结算功能示例代码》本文介绍HTML5实现移动端购物车自动结算,通过WebStorage、事件监听、DOM操作等技术,确保实时更新与数据同步,优化性能及无障碍性,提升用... 目录1. 移动端购物车自动结算概述2. 数据存储与状态保存机制2.1 浏览器端的数据存储方式2.1.

基于 HTML5 Canvas 实现图片旋转与下载功能(完整代码展示)

《基于HTML5Canvas实现图片旋转与下载功能(完整代码展示)》本文将深入剖析一段基于HTML5Canvas的代码,该代码实现了图片的旋转(90度和180度)以及旋转后图片的下载... 目录一、引言二、html 结构分析三、css 样式分析四、JavaScript 功能实现一、引言在 Web 开发中,