Boostrate之CSS介紹

Boostrate 是一個非常受歡迎的前端開發框架,其強大之處在於對常見的css佈局小組件和JavaScript插件都進行了完整而且完善的封裝。我們可以對現有插件進行二次擴展,最後開發出自己的完整插件。總結下:需要了解boostrate的思想理念。看看它設置了什麼,方便記憶。小圖標的基本用法身份簡單,在內聯元素上應用對應的樣式即可。如<li class = “glyphicon glyphicon-search”><span class = “glyphicon glyphicon-search”>實現方式:使用CSS3中@font-face特性,將服務器上字體設置爲web字體@font-face { font-family: 'Glyphicons Halflings'; //自定義的字體名稱 src: url('../fonts/glyphicons-halflings-regular.eot');//存放路徑,字體格式src: url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'), url('../fonts/glyphicons-halflings-regular.woff2') format('woff2'), url('../fonts/glyphicons-halflings-regular.woff') format('woff'), url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'), url('../fonts/glyphicons-halflings-regular.svg#glyphicons_halflingsregular') format('svg');}①.nav基礎樣式 佈局方式(相對)、塊級顯示、padding、active、disable狀態下等①②nav-tab選項卡導航 設置li定義非高亮顯示和高亮顯示樣式和鼠標觸發行爲。③nav-pills膠囊式選項卡 風格加大圓角設置,背景色④nav-stacked堆疊式導航 在③基礎上面,默認不設置浮動,垂直襬放,可以設置nav-divider分隔符⑤nav-justified自適應導航 將li元素充滿整個父容器,只需要在②或③後面添加即可⑥dropdown二級導航 在②或③中的li中加入⑥,區別是②中有邊框而③沒有,③四個邊框有圓角而②左下和右上沒有圓角。⑤無特殊設置。①//boostrap.css源碼分析.nav { padding-left: 0; margin-bottom: 0; list-style: none; //消除list圓點}.nav > li { position: relative; //所有菜單項都是相對定位 display: block; //塊級顯示}.nav > li > a { position: relative; //a鏈接相對定位 display: block; //塊級顯示 padding: 10px 15px; //外邊距略大}.nav > li > a:hover,.nav > li > a:focus { text-decoration: none; background-color: #eee; }//移動或焦點時處理.nav > li.disabled > a { color: #777;} color: #777; .nav > li.disabled > a:hover,.nav > li.disabled > a:focus { text-decoration: none;cursor: not-allowed; background-color: transparent;}//禁用時處理方式.nav .open > a,.nav .open > a:hover,.nav .open > a:focus { background-color: #eee; border-color: #337ab7;}.nav .nav-divider { height: 1px; margin: 9px 0; overflow: hidden; background-color: #e5e5e5;}.nav > li > a > img { max-width: none;//不限制a 鏈接中的圖片寬度}②.nav-tabs { border-bottom: 1px solid #ddd;//所有菜單下都有橫線,整體導航爲水平方向}.nav-tabs > li { float: left; margin-bottom: -1px;}.nav-tabs > li > a { margin-right: 2px; line-height: 1.42857143; border: 1px solid transparent; //透明邊框 border-radius: 4px 4px 0 0; //每個菜單項上面都有圓角}.nav-tabs > li > a:hover { border-color: #eee #eee #ddd; //非高亮,菜單項在鼠標觸發時的背景顏色}.nav-tabs > li.active > a,.nav-tabs > li.active > a:hover,.nav-tabs > li.active > a:focus { color: #555; cursor: default; background-color: #fff; //高亮狀態下,背景顏色爲白色 border: 1px solid #ddd; border-bottom-color: transparent; //高亮狀態下,橫線爲透明,不顯示}③.nav-pills > li { float: left;}.nav-pills > li > a { border-radius: 4px; //圓角設置}.nav-pills > li + li { margin-left: 2px; // 加大左外邊距} .nav-pills > li.active > a,.nav-pills > li.active > a:hover,.nav-pills > li.active > a:focus { color: #fff; background-color: #337ab7;}//高亮菜單設置背景和顏色,文字白色,背景爲藍色④.nav-stacked > li { float: none; //不設置浮動}.nav-stacked > li + li { margin-top: 2px; //設置兩個li之間的top值 margin-left: 0;} .nav .nav-divider { height: 1px; margin: 9px 0; overflow: hidden; background-color: #e5e5e5;}.nav-tabs.nav-justified { width: 100%;//寬度充滿這個父容器 border-bottom: 0;}.nav-tabs.nav-justified > li { float: none;//取消浮動}.nav-tabs.nav-justified > li > a { margin-bottom: 5px; text-align: center;}.nav-tabs.nav-justified > .dropdown .dropdown-menu { top: auto; left: auto;}//自適應小分辨率下可以多行顯示@media (min-width: 768px) { .nav-tabs.nav-justified > li { display: table-cell;//表格風格顯示 width: 1%; }} .nav-tabs.nav-justified > li > a { margin-bottom: 0; }.nav-tabs.nav-justified > li > a { margin-right: 0; border-radius: 4px;}.nav-tabs.nav-justified > .active > a,.nav-tabs.nav-justified > .active > a:hover,.nav-tabs.nav-justified > .active > a:focus { border: 1px solid #ddd;}@media (min-width: 768px) { .nav-tabs.nav-justified > li > a { border-bottom: 1px solid #ddd; border-radius: 4px 4px 0 0; } .nav-tabs.nav-justified > .active > a, .nav-tabs.nav-justified > .active > a:hover, .nav-tabs.nav-justified > .active > a:focus { border-bottom-color: #fff; }⑥使用nav-tab 和 nav-pills效果如圖1 和圖2 。 ![這裏寫圖片描述](https://img-blog.csdn.net/20160906153109134)①navbar導航條 就是比nav多了背景條,設置左右的padding和圓角等.navbar-default/inverse 風格設置專用,主要設置顏色及反色。.navbar-brand 作用爲加大字體顯示並控制最大寬度顯示.navbar-form 在.navbar容器內放置form元素(navbar-left/navbar-right).navbar-nav/ btn/link/text 功能鍵定義.navbar-header 一般在頭部div中添加文字⑧.nav-fixed-top/bottom 利用position爲fixed,絕對定位的特性。⑨.nav-toggle 用於toggle收縮的內容,對應.nav-collapse collapse![這裏寫圖片描述](https://img-blog.csdn.net/20160906153037710) <nav class="navbar navbar-default"> <div class="navbar-header"><a href="" class="navbar-brand">Brand</a></div> <form class="navbar-form navbar-left"> <div class="form-group"> <input type="text" class="form-control" placeholder="search"/> <button type="submit" class="btn btn-default">按鈕左</button> </div> </form> </nav>⑧.navbar-fixed-bottom固定在最底部顯示,.navbar-fixed-top固定在最頭部顯示.navbar-fixed-bottom .navbar-nav > li > .dropdown-menu { margin-bottom: 0; border-top-left-radius: 4px; border-top-right-radius: 4px; border-bottom-right-radius: 0; border-bottom-left-radius: 0; }如果運行後,頂部固定時其他內容被遮住了,因爲navbar高度爲設置爲50px,所以需要設置body的padding。如下:body{padding-top:70px} 頂部固定情況下;body{padding-bottom:70px} 底部固定情況下。⑨nav-toggle在瀏覽器大於768像素時不顯示,在小於768px時顯示.navbar-toggle { position: relative; //相對定位 float: right; //右浮動 padding: 9px 10px; margin-top: 8px; margin-right: 15px; margin-bottom: 8px; background-color: transparent; background-image: none; border: 1px solid transparent; border-radius: 4px;}.navbar-toggle:focus { outline: 0; //焦點狀態輪廓取消} .navbar-toggle .icon-bar {//響應式中icon設置 display: block; //塊級顯示 width: 22px; height: 2px; //限制高度,一般都是3個 border-radius: 1px;}.navbar-toggle .icon-bar + .icon-bar { margin-top: 4px;//多個icon之間垂直間隔}@media (min-width: 768px) { .navbar-toggle { display: none; //寬屏下自動消失 }}![這裏寫圖片描述](https://img-blog.csdn.net/20160906152935024)![這裏寫圖片描述](https://img-blog.csdn.net/20160906152951552) <div class="navbar navbar-default"> <div class="navbar-header"> <button class="navbar-toggle" data-toggle="collapse"> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a href="#" class="navbar-brand">Brand</a> </div> <div class="navbar-collapse collapse navbar-responsive-collapse"> <ul class="nav navbar-nav"> <li class="active"><a href="#">子菜單1</a></li> <li><a href="#">子菜單1</a></li> <li><a href="#">子菜單1</a></li> <li class="dropdown"><a href="#" class="dropdown-toggle" data-toggle="dropdown">子菜單4<span class="caret"></span></a> <ul class="dropdown-menu"> <li><a href="#">二級菜單1</a></li> <li><a href="#">二級菜單2</a></li> </ul></li> </ul></div></div>breadcrumbs麪包屑導航條 源碼 display:incline-block content: "/\00a0";pagination分頁導航 源碼:incline-block incline 狀態和邊框處理pager翻頁顯示 整體居中,li元素有圓角,左右浮動label標籤 label-default/primary/success… display:incline,label字體大小相對於h1..改變badge徽章 display:incline,背景色,超大圓角,相對定位jumbotron大屏幕展播 加大外邊距,內邊距,寬窄屏下不同字體顯示⑦thumbnails 縮略圖 結合12柵格,display:block,圖片外4px像素⑧alert警告框 設置button的data-dismiss =”alert”⑨alert-dismissable 同⑧ 增加了右外邊距,放置關閉符號⑩alert-link 加深顏色 在相應alert風格下(warning/success/info/danger)加深well窪地 和大屏幕展播Jumbotron類似,多了邊框,自適應文本 ⑦柵格系統佈局實例![這裏寫圖片描述](https://img-blog.csdn.net/20160906152900661)⑧可以關閉的警告框<div class="alert"> <button type="button" class="close" data-dismiss="alert">&times;</button></div>process 設置進度條的容器樣式process-bar 限制進度條的進度(顏色進度)progress-striped 條紋樣式background-image: linear-gradientmedia 媒體對象是一個抽象樣式,用於構成不同組件list-group/list-group-item 列表組(相對佈局、塊狀顯示)list-group-item-heading/text 設置heading和text元素的文本元素panel/panel-default 面板的樣式和顏色panel-heading/footer 頭部和尾部的面板效果 <div class="panel panel-default"> <div class="panel-heading">我的圖書</div> <div class="panel-body"> <p>Some default panel content here</p> <table class="table table-bordered"> <thead> <tr> <td>#</td> <td>圖書名稱</td> <td>出版社</td> <td>座椅者</td> </tr> </thead> <tbody> <tr> <td>1</td> <td>Javascript 編程精析</td> <td>機械出版社</td> <td>湯姆大叔</td> </tr> </tbody> </table> </div> </div>面板和列表組合嵌套的效果如上Boostrape增加一個boostrap-theme.css文件,該文件針對一些常用css組件進行增強。針對9個方面的組件進行增強:btn選項、縮略圖、下拉菜單、導航條、警告框、進度條、列表組、面板和well。dropdown 大容器,相對定位dropdown-menu 菜單li上的容器,默認爲隱藏,絕對定位(顯示時加.open)dropdown-header 對顏色、字號和內邊距設置dropdown-submenu 二級菜單設置(pull-right向右;dropup向上彈出)btn-group(-xs/sm/lg) 按鈕分組,相對定位,垂直居中btn-toolbar 按鈕工具欄,多個按鈕組排列一起,使用table風格btn-group 下拉菜單外包裝一個div元素btn-group-vercial 垂直分組,寬度自適應btn-group-justified 在btn-group基礎上使用所有按鈕充滿容器btn-group .dropup 上彈菜單 <div class="btn-group"> <a href="#" class="btn btn-default">User<span class="glyphicon glyphicon-user"></span></a> <a href="#" class="btn btn-default dropdown-toggle" data-toggle="dropdown"><span class="caret"></span></a> <ul class="dropdown-menu"> <li><a href="#">Edit <span class="glyphicon glyphicon-edit"></span></a></li> <li><a href="">Delete <span class="glyphicon glyphicon-trash"></span></a></li> <li><a href="">Ban <span class="glyphicon glyphicon-ban-circle"></span></a></li> <li class="divider"></li> <li><a href="#">Make admin</a></li> </ul> </div> ①input-group(-lg/sm) 輸入框組②input-group-addon 輸入框組下的小圖標,放置label,icon,checkbox,radio③Input-group-btn 在②基礎上加入內外邊界 ① input-group主要實現以下功能:將各個元素無縫拼接在一起,並設置margin爲0;將各個元素設置爲等高,即display:table-cell;設置addon元素的顯示方式;<div class="row"> <div class="col-md-4"> <div class="input-group"> <input type="text" class="form-control"/> <div class="input-group-btn"> <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown"> Action <span class="caret"></span> </button> <ul class="dropdown-menu pull-right"> <li><a href="#">what</a></li> <li><a href="">is that</a></li> </ul> </div> </div> </div> </div不管前後addon有幾個,進行圓角處理。![這裏寫圖片描述](https://img-blog.csdn.net/20160906152759707)
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章