十四、css3動畫庫的使用、css3彈性盒子、calc()、css3預處理、什麼是less以及好處是什麼。
一、css3動畫庫的使用
animate.css css3動畫庫,預設了抖動(shake)、閃爍(flash)、彈跳(bounce)、翻轉(flip)、旋轉(rotateIn/rotateOut)、淡入淡出(fadeIn/fadeOut)等動畫效果;
官網地址:https://daneden.github.io/animate.css/
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="./css/animate.css">
<style>
.box1 {
width: 200px;
height: 50px;
font: 30px/50px "微軟雅黑";
margin: 50px auto;
/* 方法一:直接使用動畫名稱 */
/* animation: rubberBand 1s linear infinite; */
}
</style>
</head>
<body>
<div class="box1">1116web班</div>
<!-- 方法二:呼叫需要使用到的類名就可以了 -->
<p class="rubberBand animated infinite delay-1s">1116web班11111</p>
</body>
</html>
二、css3彈性盒子
彈性盒子是 CSS3 的一種新的佈局模式。
引入彈性盒佈局模型的目的:是提供一種更加有效的方式來對一個容器中的子元素進行排列、對齊和分配空白空間
相容性: ie11+
1、基本概念
[外鏈圖片轉存失敗,源站可能有防盜鏈機制,建議將圖片儲存下來直接上傳(img-iG2335MQ-1607108675821)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20201203102958043.png)]
(1)容器
採用flex佈局(display:flex)的元素就是彈性容器(flex container),簡稱"容器"
(2)專案
容器下面的直接子元素(親兒子)就是flex專案(flex item),簡稱"專案"
(3)主軸
預設情況下,主軸是水平方向的,開始方向在左邊,結束方向在右邊
預設專案在容器中的排列只跟主軸有關係
(4)交叉軸
預設情況下,交叉軸是垂直方向的,開始方向在上邊,結束方向在下邊
2、設定為彈性盒子
display:flex;
display:inline-flex;
注意:
- 設定了彈性盒子之後,只會影響親兒子的排列方式,後代元素如何排列不受影響
- 設為Flex佈局以後,子元素的float、clear和vertical-align屬性將失效
3、容器屬性
(1)flex-direction
決定主軸的方向
- row(預設值):主軸為水平方向,起點在左端
- row-reverse:主軸為水平方向,起點在右端
- column:主軸為垂直方向,起點在上沿
- column-reverse:主軸為垂直方向,起點在下沿
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.wrap {
/* 彈性盒子 */
display: flex;
/* 主軸方向 */
/* 預設值,從左到右 */
flex-direction: row;
/* 主軸從右到左 */
flex-direction: row-reverse;
/* 主軸從上到下 */
flex-direction: column;
/* 主軸從下到上 */
flex-direction: column-reverse;
width: 1000px;
height: 600px;
border: 1px solid red;
}
.box {
width: 200px;
height: 200px;
}
.wrap .box:nth-child(odd) {
background-color: yellow;
}
.wrap .box:nth-child(even) {
background-color: pink;
}
</style>
</head>
<body>
<div class="wrap">
<div class="box">box1</div>
<div class="box">box2</div>
<div class="box">box3</div>
</div>
</body>
</html>
(2)justify-content
定義了專案在主軸上的對齊方式
- flex-start(預設值) 主軸的起點對齊
- flex-end 主軸終點對齊
- center 居中
- space-between 兩端對齊,專案之間的間隔都相等
- space-around 每個專案兩側的間隔相等
(3)align-items
定義專案在交叉軸上如何對齊
- flex-start:交叉軸的起點對齊
- flex-end:交叉軸的終點對齊
- center: 交叉軸的中點對齊
- baseline: 專案的第一行文字的基線對齊
- stretch(預設值):如果專案未設定高度或設為auto,將佔滿整個容器的高度
(4)flex-wrap
如果一條軸線排不下,如何換行
- nowrap(預設):不換行
- wrap:換行,第一行在上方
- wrap-reverse:換行,第一行在下方
4、專案屬性
(1)order
定義專案的排列順序
數值越小,排列越靠前,預設值為0
(2)flex-grow
定義專案的放大比例
預設是0,即如果存在剩餘空間,也不放大
(3)flex-shrink
定義專案的縮小比例
預設為1,即如果空間不足,該專案將縮小
不能設定負值
(4)align-self
定義彈性容器內被選中專案的對齊方式,和彈性容器的align-items屬性作用相同,此屬性用於專案
- auto 預設值,元素繼承了它的父容器的align-items屬性,如果沒有父容器則為“stretch”
- stretch 佔滿整個父級的高度
- flex-start 交叉軸的起點對齊
- flex-end 交叉軸的終點對齊
- center 交叉軸的中點對齊
- baseline 專案的第一行文字的基線對齊
- inherit 從父元素繼承該屬性
四、calc()
calc()是css3的一個新增的功能,可以幫我們進行動態計算長度值
width:calc(200px + 30px * 2);
注意:
-
運算子前後必須得有一個空格
-
運算是遵循標準運算規則
-
pc端中支援ie9+
1、calc()實現兩欄自適應
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
* {
margin: 0;
padding: 0;
}
.left {
float: left;
width: 200px;
background-color: lawngreen;
}
.right {
float: left;
width: calc(100% - 200px);
background-color: lightcoral;
}
</style>
</head>
<body>
<div class="wrap">
<div class="left">left盒子</div>
<div class="right">right盒子</div>
</div>
</body>
</html>
2、calc()實現三欄自適應
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
* {
margin: 0;
padding: 0;
}
.left {
float: left;
width: 200px;
background-color: lawngreen;
}
.right {
float: left;
width: 300px;
background-color: lightcoral;
}
.center {
float: left;
width: calc(100% - 200px - 300px);
background-color: lightskyblue;
}
</style>
</head>
<body>
<div class="wrap">
<div class="left">left盒子</div>
<div class="center">center盒子</div>
<div class="right">right盒子</div>
</div>
</body>
</html>
五、css3預處理
CSS 前處理器定義了一種新的語言,其基本思想是,用一種專門的程式語言,為 CSS 增加了一些程式設計的特性,將 CSS 作為目標生成檔案,然後開發者就只要使用這種語言進行編碼工作。
使用CSS前處理器語言,可以有讓CSS更加簡潔、適應性更強、可讀性更佳,更易於程式碼的維護等諸多好處。
什麼是less及less的好處?
Less 包含一套自定義的語法及一個解析器,使用者根據這些語法定義自己的樣式規則,這些規則最終會通過解析器,編譯生成對應的 CSS 檔案,只有在被編譯後才能夠被瀏覽器識別使用。
好處:
- 結構清晰,便於擴充套件。
- 可以方便地遮蔽瀏覽器私有語法差異。
- 可以輕鬆實現多重繼承。
- 完全相容 CSS 程式碼,可以方便地應用到老專案中。
編譯工具—考拉
koala是一個前端前處理器語言圖形編譯工具,支援Less、Sass、Compass、CoffeeScript,幫助web開發者更高效地使用它們進行開發。跨平臺執行,完美相容windows、linux、mac。
官網下載地址:http://koala-app.com/index-zh.html
相關文章
- css3系列之彈性盒子 flexCSSS3Flex
- 什麼是lambda?有什麼好處
- 什麼是勞動力管理?有什麼好處?
- 什麼是殭屍程式以及如何處理
- 什麼是批處理
- 什麼是流處理
- 什麼是WHQL?WHQL對驅動有什麼好處?
- DevOps的目標是什麼?有什麼好處?dev
- 拉動式生產的好處是什麼?
- Python中什麼是閉包?閉包的好處是什麼?Python
- Docker是什麼?使用Docker的好處有哪些?Docker
- 製造mes的好處是什麼?
- java事件處理模型是什麼Java事件模型
- 簡單瞭解SSL證書是什麼以及好處
- Spring的IOC是啥?有什麼好處?Spring
- 公司搭建網站的好處是什麼?網站
- 舉例說明什麼是IIFEs?它有什麼好處?
- 什麼是設計模式?為什麼要使用設計模式?有什麼好處?設計模式
- Linux LVM是什麼?對比直接使用物理儲存有什麼好處?LinuxLVM
- CSS3 動畫解析CSSS3動畫
- CSS3 animation 動畫CSSS3動畫
- python異常處理的流程是什麼?Python
- 企業上雲是什麼意思?企業上雲的好處是什麼?
- python資料處理是什麼意思Python
- 分散式為什麼使用Redis,以及他的好處分散式Redis
- 什麼是https?網站啟動https的好處有哪些?HTTP網站
- 超酷的 CSS3 loading 預載入動畫特效CSSS3動畫特效
- 什麼是自愈路由?自愈路由自愈網路有什麼好處路由
- Linux中什麼是分割槽?Linux分割槽有什麼好處?Linux
- 雲流化是什麼?對軟體企業有什麼好處?
- css3 動畫(一) transitionCSSS3動畫
- css3高階動畫CSSS3動畫
- CSS3動畫基礎CSSS3動畫
- 淺談CSS3動畫CSSS3動畫
- 等級保護三級是什麼意思?辦理三級等保有什麼好處?
- 好程式設計師web前端分享CSS3彈性盒程式設計師Web前端CSSS3
- IDC企業使用公有云管理系統的好處是什麼?
- CSS3動畫之逐幀動畫CSSS3動畫