Web前端 — Bootstrap(4)

简介:

Bootstrap本次知识点

1.栅格系统

2.表单




1.栅格系统

(1)响应式网格系统随着屏幕或者视口(viewport)尺寸的增加,系统会自动分为最多12列。


(2)工作原理:

    <1>行必须放置在.container(固定宽度)或者.container-fluid(100%宽度)class内,获得适当的对齐(alignment)和内边距。

    <2>内容放置在列中,唯有列可以是行的直接子元素。

    <3>预定义的网格类,比如.row或者.col-lg-4,可以快速于创建网格布局。

    <4>列通过内边距(padding)来创建列内容之间的间隙。


(3)媒体查询


/* 超小设备(手机,小于 768px) */
/* 没有任何媒体查询相关的代码,因为这在 Bootstrap 中是默认的(还记得 Bootstrap 是移动设备优先的吗?) */
/* 小型设备(平板电脑,大于等于768px) */
@media (min-width: @screen-sm-min) and (max-width: @screen-sm-max) { ... }
/* 中型设备(台式电脑,大于等于992px) */
@media (min-width: @screen-md-min) and (max-width: @screen-md-max) { ... }
/* 大型设备(大台式电脑,大于等于1200px) */
@media (min-width: @screen-lg-min) { ... }


(4)栅格参数



(5)四种屏幕分类全部激活


<div class="container">
<div class="row">
<div class="col-lg-3 col-md-4 col-sm-6 col-xs-12 a">4</div>
<div class="col-lg-3 col-md-4 col-sm-6 col-xs-12 a">4</div>
<div class="col-lg-3 col-md-4 col-sm-6 col-xs-12 a">4</div>
....
</div>
</div>
//可以设置列偏移,让中间保持空隙
<div class="container">
<div class="row">
<div class="col-md-8">1-8</div>
<div class="col-md-3 col-md-offset-1">10-12</div>
</div>
</div>
//可以嵌套,嵌满也是 12 列
<div class="container">
<div class="row">
<div class="col-md-9">
<div class="col-md-8">1-8</div>
<div class="col-md-4">9-12</div>
</div>
<div class="col-md-3"> 10-12 </div>
</div>
</div>
//可以把两个列交换位置,push 向右移动(推),pull 向左移动(拉)
<div class="container">
<div class="row">
<div class="col-md-8 col-md-push-4">8</div>
<div class="col-md-4 col-md-pull-8">4</div>
</div>
</div>

2.表单

(1)垂直或基本表单


<div class="container">
<form action="">
<div class="form-group">
<label for="textname" class="control-label col-md-4">
姓名:
</label>
<div class="col-md-6">
<input type="text" class="form-control" id="textname" placeholder="请输入姓名"/>
</div>
<div class="col-md-2">
<label for="" class="form-control-static">help</label>
</div>
</div>
<div class="form-group">
<label for="textpass" class="control-label col-md-4">
密码:
</label>
<div class="col-md-6">
<input type="password" class="form-control" id="textpass" placeholder="请输入密码"/>
</div>
</div>
<div class="form-group">
<div class="col-md-8 col-md-offset-2">
<button class="btn btn-default" type="submit">提交</button>
<button class="btn btn-default" type="reset">重置</button>
</div>
</div>
</form>
</div>

(2)内联表单


//让表单左对齐浮动,并表现为 inline-block 内联块结构
<form class="form-inline">
//注:当小于 768px,会恢复独占样式


(3)水平表单

让表单内的元素保持水平排列。


<div class="container">
<form action="">
<div class=" checkbox-inline">
<label for="">
<input type="checkbox"/>音乐
</label>
</div>
<div class=" checkbox-inline">
<label for="">
<input type="checkbox"/>爬山
</label>
</div>
<div class=" checkbox-inline">
<label for="">
<input type="checkbox"/>唱歌
</label>
</div>
<div class="radio-inline">
<label for="rad-n">
<input type="radio" id="rad-n" value="男" name="sex"/>
</label>
</div>
<div class="radio-inline">
<label for="rad-v">
<input type="radio" id="rad-v" value="女" name="sex" disabled/>
</label>
</div>
</form>
</div>

(4)表单组合


//前后增加片段
<div class="input-group">
<div class="input-group-addon"></div>
<input type="text" class="form-control">
<div class="input-group-addon">.00</div>
</div>


(5)输入框、文本域

原生的HTML的input类型的支持,包括:text、password、datetime、datetime-local、date、month、time、week、number、email、url、 search、tel和color。


<input type="text" class="form-control" placeholder="文本输入">
<textarea class="form-control" rows="3"></textarea>


(6)复选框( Checkbox)和单选框(Radio)


<div class="checkbox">
<label><input type="checkbox" value="">选项 1</label>
</div>
<div class="radio">
<label>
<input type="radio" name="optionsRadios" id="optionsRadios1"
value="option1" checked> 选项 1
</label>
</div>

内联的复选框和单选框


<label class="checkbox-inline">
<input type="checkbox" id="inlineCheckbox1" value="option1"> 选项 1
</label>
<label class="radio-inline">
<input type="radio" id="optionsRadiosinline" value="option1"> 选项 1
</label>


(7)选择框(multiple)多行显示


<select class="form-control" multiple>
<option>1</option>
<option>2</option>
<option>3</option>
<option>4</option>
<option>5</option>
</select>


(8)静态控件 .form-control-static


<form action="">
<div class="form-group has-error">
<label for="textname1" class="control-label col-md-2">
姓名:
</label>
<div class="col-md-6">
<input type="text" class="form-control" id="textname1" placeholder="请输入姓名"/>
</div>
<div class="col-md-4">
<label for="" class="form-control-static">help</label>
</div>
</div>
<div class="form-group has-success">
<label for="textpass2" class="control-label col-md-2">
密码:
</label>
<div class="col-md-6">
<input type="password" class="form-control" id="textpass2" placeholder="请输入密码"/>
</div>
</div>
<div class="form-group has-warning">
<label for="textname1" class="control-label col-md-2">
姓名:
</label>
<div class="col-md-6">
<input type="text" class="form-control input-sm" id="textname2" placeholder="请输入姓名"/>
</div>
<div class="col-md-10">
<label for="" class="form-control-static">help</label>
</div>
</div>
</form>

(9)表单控件状态

<1>输入框焦点。

<2>当输入框input接收到: focus时,输入框的轮廓会被移除,同时应用box-shadow。

<3>禁用的输入框:input。

<4> 如果你想要一个禁用的输入框input,只需要简单地添加disabled属性,这不仅会禁用输入框,还会改变输入框的样式以及当鼠标的指针悬停在元素上时鼠标指针的样式。

<5>禁用的字段集fieldset。

<6>对<fieldset>添加disabled属性来禁用<fieldset>内的所有控件。

<7>校验状态。

<8>.has-warning、.has-error或.has-success类到这些控件的父元素即可。

<9>任何包含在此元素内的.control-label、.form-control和.help-block元素都将接受这些校验状态的样式。


(10)表单帮助文本


<form role="form">
<input class="form-control" type="text" placeholder="">
<span class="help-block">一个较长的帮助文本块,超过一行,需要扩展到下一行。本实例中的帮助文本总共有两行。</span>
</form>


(11)控件尺寸

.input-lg和col-lg-*来设置表单的高度和宽度。


<div class="form-group">
<input class="form-control input-lg" type="text" placeholder="input-lg">
</div>
<div class="row">
<div class="col-lg-2">
<input type="text" class="form-control" placeholder="col-lg-2">
</div>
<div class="col-lg-3">
<input type="text" class="form-control" placeholder="col-lg-3">
</div>
<div class="col-lg-4">
<input type="text" class="form-control" placeholder="col-lg-4">
</div>
</div>

作者:Roger_CoderLife

链接:https://blog.csdn.net/Roger_CoderLife/article/details/80408336

本文为Roger_CoderLife的原创文章,著作权归作者所有,转载请注明原文出处,欢迎转载!

相关文章
|
17天前
|
编解码 前端开发 JavaScript
构建高效响应式Web界面:现代前端框架的比较
【4月更文挑战第9天】在移动设备和多样屏幕尺寸盛行的时代,构建能够适应不同视口的响应式Web界面变得至关重要。本文深入探讨了几种流行的前端框架——Bootstrap、Foundation和Tailwind CSS,分析它们在创建响应式设计中的优势与局限。通过对比这些框架的栅格系统、组件库和定制化能力,开发者可以更好地理解如何选择合适的工具来优化前端开发流程,并最终实现高性能、跨平台兼容的用户界面。
|
18天前
|
前端开发 JavaScript 关系型数据库
从前端到后端:构建现代化Web应用的技术探索
在当今互联网时代,Web应用的开发已成为了各行各业不可或缺的一部分。从前端到后端,这篇文章将带你深入探索如何构建现代化的Web应用。我们将介绍多种技术,包括前端开发、后端开发以及各种编程语言(如Java、Python、C、PHP、Go)和数据库,帮助你了解如何利用这些技术构建出高效、安全和可扩展的Web应用。
|
19天前
|
编解码 前端开发 JavaScript
Web 前端开发中的最佳实践
本文将介绍 Web 前端开发中的最佳实践,包括代码组织、性能优化、响应式设计和用户体验等方面。通过遵循这些实践,开发人员可以提高开发效率,优化用户体验,并减少潜在的问题和错误。
|
1天前
|
前端开发 JavaScript UED
Web前端开发:探索技术与艺术的交融
Web前端开发:探索技术与艺术的交融
8 1
|
1天前
|
前端开发 JavaScript Java
前端与后端:构建现代Web应用的双翼
前端与后端:构建现代Web应用的双翼
|
11天前
|
前端开发 搜索推荐 数据安全/隐私保护
HTML标签详解 HTML5+CSS3+移动web 前端开发入门笔记(四)
HTML标签详解 HTML5+CSS3+移动web 前端开发入门笔记(四)
18 1
|
12天前
|
前端开发 JavaScript vr&ar
前端新技术探索:WebAssembly、Web Components与WebVR/AR
【4月更文挑战第12天】WebAssembly、Web Components和WebVR/AR正重塑Web应用的未来。WebAssembly允许C/C++等语言在Web上高效运行,提供接近原生的性能,如游戏引擎。Web Components通过Custom Elements和Shadow DOM实现可复用的自定义UI组件,提升模块化开发。WebVR/AR(现WebXR)则让VR/AR体验无需额外应用,直接在浏览器中实现。掌握这些技术对前端开发者至关重要。
16 3
|
1月前
|
机器学习/深度学习 前端开发 算法
利用机器学习优化Web前端性能的探索与实践
本文将介绍如何利用机器学习技术来优化Web前端性能,探讨机器学习在前端开发中的应用,以及通过实际案例展示机器学习算法对前端性能优化的效果。通过结合前端技术和机器学习,提升Web应用的用户体验和性能表现。
|
1月前
|
移动开发 前端开发 HTML5
Web前端全栈HTML5通向大神之路
本套课程共三大阶段,六大部分,是WEB前端、混合开发与全栈开发必须要掌握的技能,从基础到实践,是从编程小白成长为全栈大神的最佳教程!
48 3
Web前端全栈HTML5通向大神之路
|
1月前
|
监控 前端开发 JavaScript
构建高性能Web应用:前端性能优化的关键策略与实践
本文将深入探讨前端性能优化的关键策略与实践,从资源加载、渲染优化、代码压缩等多个方面提供实用的优化建议。通过对前端性能优化的深入剖析,帮助开发者全面提升Web应用的用户体验和性能表现。