css-css3屬性整理
阿新 • • 發佈:2018-12-13
css屬性整理
- 背景background
簡寫順序
background-color
background-image
background-repeat
background-attachment
background-position
background: #ffffff url("img_tree.png") repeat-x fixed right top;
- 文字屬性
- text-transform 文字轉換
uppercase // 大寫
lowercase //小寫
capitalize // 首字母大寫
- 文字裝飾text-decoration
text-decoration: none; text-decoration: overline //上劃線 text-decoration: line-through // 穿過文字 text-decoration: underline // 下劃線
- 文字縮排text-indent
- 字元間距letter-spacing(可設定負值)
- 文字方向direction:rtl
- 字間隔word-spacing
- 不換行white-space:nowrap
- 新增陰影text-shadow
- 垂直對齊vertical-align
- 字型樣式
- font-style
normal - 正常顯示文字
italic - 以斜體字顯示的文字
oblique - 文字向一邊傾斜 (和斜體非常類似,但不太支援)
- 字型大小
絕對大小(如px): 設定一個指定大小的文字 不允許使用者在所有瀏覽器中改變文字大小 確定了輸出的物理尺寸時絕對大小很有用 相對大小(如em): 相對於周圍的元素來設定大小 允許使用者在瀏覽器中改變文字大小 為了避免瀏覽器中無法調整文字的問題,許多開發者使用 em 單位代替畫素。 em的尺寸單位由W3C建議。 1em和當前字型大小相等。在瀏覽器中預設的文字大小是16px。 因此,1em的預設大小是16px。可以通過下面這個公式將畫素轉換為em:px/16=em
- font-variant 屬性設定小型大寫字母的字型顯示文字,這意味著所有的
小寫字母
均會被轉換為大寫
,但是所有使用小型大寫字型的字母與其餘文字相比,其字型尺寸更小
。 該屬性主要用於定義小型大寫字母文字。理論上,使用者代理可以根據正常字型計算出小型大寫字母字型。
- 連結 連結有四種狀態
a:link - 正常,未訪問過的連結
a:visited - 使用者已訪問過的連結
a:hover - 當用戶滑鼠放在連結上時
a:active - 連結被點選的那一刻
當設定為若干鏈路狀態的樣式,也有一些順序規則: a:hover 必須跟在 a:link 和 a:visited 後面 a:active 必須跟在 a:hover 後面
- 列表樣式
- list-style-type
circle|square|upper-roman(大寫羅馬數字)|lower-alpha(小寫字母)|cjk-ideographic(一二三)
- list-style-image(圖片)
- list-style-position
inside|outside
- 表格
table|tr(一行)|th(表頭)|td
- 摺疊邊框
border-collapse: collapse
- 水平對齊text-align和垂直對齊vertical-align
- 條紋表格
使用 nth-child() 選擇器和新增 background-color 屬性到所有的奇數(或偶數)列即可形成斑馬條紋樣式的表格:
tr:nth-child(even) {
background-color: #f2f2f2
}
- 表格標題
<caption>
caption-side: bottom; // 表格標題位置
- 盒子模型:CSS盒模型本質上是一個盒子,封裝周圍的HTML元素,它包括:邊距margin,邊框border,填充padding,和實際內容content。
元素的總寬度應該這樣計算:
元素總寬度 = width + left padding + right padding + left border + right border + left margin + right margin
元素的總高度應該這樣計算:
元素總高度 = height + top padding + bottom padding + top border + bottom border + top margin + bottom margin
- css輪廓屬性outline
輪廓(outline)是繪製於元素周圍的一條線,位於邊框邊緣的外圍,可起到突出元素的作用。outline在border外面。
outline不佔空間,可能非矩形
outline-offset設定偏移量
- 浮動與清除
- 元素浮動之後,周圍的元素會重新排列,為了避免這種情況,使用 clear 屬性。
css3屬性整理
- background 新的背景屬性
- background-clip background-clip: border-box|padding-box|content-box|initial|inherit;
值 | 描述 |
---|---|
border-box | 預設值。背景繪製在邊框方框內(剪下成邊框方框) |
padding-box | 背景繪製在襯距方框內(剪下成襯距方框) |
content-box | 背景繪製在內容方框內(剪下成內容方框) |
initial | 將此屬性設定為其預設值 |
inherit | 從其父元素繼承此屬性 |
- background-origin指定背景影象的位置 background-origin: padding-box|border-box|content-box|initial|inherit
- background-size定義大小
- css3漸變(Gradient Background)
- 線性漸變-
向下/向上/向左/向右/對角方向
預設情況下,從上到下漸變
示例 | 效果 |
---|---|
linear-gradient(red, yellow) | 從上到下,從紅到黃的漸變 |
linear-gradient(to right, red , yellow) | 從左到右 |
linear-gradient(to bottom right, red, yellow) | 對角漸變,左上到右下 |
linear-gradient(-90deg, red, yellow) | 0deg 將建立一個從下到上的漸變,90deg 將建立一個從左到右的漸變,-90deg將建立一個從右到左的漸變 |
linear-gradient(red, yellow, green) | 多顏色漸變 |
linear-gradient(to right, rgba(255,0,0,0), rgba(255,0,0,1)) | 透明度的漸變 |
repeating-linear-gradient (red, yellow 10%, green 20%) |
重複的線性漸變 |
- 徑向漸變-
由它們的中心定義
為了建立一個徑向漸變,你也必須至少定義兩種顏色結點。顏色結點即你想要呈現平穩過渡的顏色。同時,你也可以指定漸變的中心、形狀(原型或橢圓形)、大小。預設情況下,漸變的中心是 center(表示在中心點),漸變的形狀是 ellipse(表示橢圓形),漸變的大小是 farthest-corner(表示到最遠的角落)。 語法:background: radial-gradient(center, shape size, start-color, …, last-color)
- css3陰影效果
- box-shadow(用法與text-shadow類似)
- text-shadow
示例 | 效果 |
---|---|
text-shadow: 2px 2px | 陰影沿x軸y軸哥偏移2px |
text-shadow: 2px 2px red | 陰影沿x軸y軸哥偏移2px,顏色為紅色 |
text-shadow: 2px 2px 5px red | 陰影沿x軸y軸哥偏移2px,顏色為紅色,模糊效果範圍5px |
text-shadow: 0 0 3px #FF0000, 0 0 5px #0000FF | 多重陰影 |
- css3文字效果
- text-overflow:clip(隱藏) | ellipsis(省略號)
- word-wrap:break-word(換行)
- word-break(定義換行時單詞是否拆分的規則): break-all(拆) | keep-all(不拆)
- 字型
使用自定義字型
@font-face { font-family: myFirstFont; src: url(sansation_light.woff); } div { font-family: myFirstFont; }
- css3的2D轉換
- translate()
平移
例: transform: translate(20px, 10px) //向右平移20px,向下平移10px - rotate()
旋轉
例:transform: rotate(30deg) //順時針旋轉30° - scale()
放縮
例:transform: scale(.5) //縮小為原來的一半 - skew()
包含兩個引數值,分別表示X軸和Y軸傾斜的角度,如果第二個引數為空,則預設為0,引數為負表示向相反方向傾斜。
例:transform: skew(30deg,20deg) //元素在X軸和Y軸上傾斜30度20度 - matrix()
matrix 方法有六個引數,包含旋轉,縮放,移動(平移)和傾斜功能
例:transform: matrix(1, -0.3, 0, 1, 0, 0) 矩陣的問題可能有點難以理解,這裡涉及到線性代數
以及三角函式
的知識。接下來我們一起來補補課吧(每天進步一點點) 重新開了一篇部落格,有興趣的朋友們可以去看看,fighting!!!
- css3的3D轉換
- translate3d(x,y,z)
- scale3d(x,y,z)
- rotate3d(x,y,z,angle)
- perspective(n) //定義 3D 轉換元素的透視檢視。
- matrix3d(n,n,n,n,n,n, n,n,n,n,n,n,n,n,n,n) //定義 3D 轉換,使用 16 個值的 4x4 矩陣。 學習3D轉換的連結同上,fighting!!!
-
過渡transition
div { width: 50px; } div:hover { width: 100px; transition: width 2s; } // 滑鼠移到div上的時候,div的寬度逐漸變大,2s後停止變化,寬度100px // 滑鼠離開div時,div寬度逐漸變小,2s後停止變化,寬度50px
div { transition-property: width; transition-duration: 2s; transition-timing-function: linear; transition-delay: 1s; } 等同於 div { transition: width 2s linear 1s; }
transition-timing-function 屬性表
值 | 描述 |
---|---|
ease | 預設值。規定慢速開始,然後變快,然後慢速結束的過渡效果(cubic-bezier(0.25,0.1,0.25,1))。 |
linear | 規定以相同速度開始至結束的過渡效果(等於 cubic-bezier(0,0,1,1))。 |
ease-in | 規定以慢速開始的過渡效果(等於 cubic-bezier(0.42,0,1,1))。 |
ease-out | 規定以慢速結束的過渡效果(等於 cubic-bezier(0,0,0.58,1))。 |
ease-in-out | 規定以慢速開始和結束的過渡效果(等於 cubic-bezier(0.42,0,0.58,1))。 |
step-start | 等同於 steps(1, start) |
step-end | 等同於 steps(1, end) |
steps(int,start|end)|steps() | 設定間隔引數,可以實現分步過渡。第一個引數指定了時間函式中的間隔數量(必須是正整數) 第二個引數可選,接受 start 和 end 兩個值,指定在每個間隔的起點或是終點發生階躍變化,預設為 end。 |
cubic-bezier(n,n,n,n) | 立方貝塞爾曲線函式,在 cubic-bezier 函式中定義自己的值。可能的值是 0 至 1 之間的數值。 |
initial | 將此屬性設定為其預設值。 |
inherit | 從其父元素繼承此屬性。 |
- css3動畫
// 定義動畫 @keyframes example { from {background-color: red;} to {background-color: yellow;} } // 使用百分比分割 @keyframes example1 { 0% {background-color: red;} 25% {background-color: yellow;} 50% {background-color: blue;} 100% {background-color: green;} } // 使用動畫 div { width: 100px; height: 100px; background-color: red; animation-name: example; animation-duration: 4s; }
- animation-name // 動畫名稱
- animation-duration //動畫時長
- animation-delay //延遲時長
- animation-iteration-count // 執行次數,
infinite
指定動畫應該播放無限次(永遠) - animation-direction // 反向或交替迴圈執行動畫
值 | 描述 |
---|---|
normal | 預設值。動畫按正常播放。 |
reverse | 動畫反向播放。 |
alternate | 動畫在奇數次(1、3、5…)正向播放,在偶數次(2、4、6…)反向播放。 |
alternate-reverse | 動畫在奇數次(1、3、5…)反向播放,在偶數次(2、4、6…)正向播放。 |
initial | 設定該屬性為它的預設值。 |
inherit | 從父元素繼承該屬性。 |
- animation-play-state: paused|running|initial|inherit; // 動畫執行狀態
-
響應式圖片
img { max-width: 100%; height: auto; }
-
功能強大的圖片
濾鏡
(CSSfilter
屬性用為元素新增可視效果 (例如:模糊與飽和度) 語法:filter:none | blur() | brightness() | contrast() | drop-shadow() | grayscale() | hue-rotate()| invert() | opacity() | saturate() | sepia() | url();
值 | 描述 |
---|---|
none | 預設值,沒有效果。 |
blur(px) | 對影象應用模糊 效果。更大的值會產生更多的模糊。 如果沒有指定值,則使用0。 |
brightness(%) | 調整影象的亮度 。 0%將使影象完全黑色。 100%(1)是預設值,代表原始影象。 超過100%的價值將提供更明亮的結果。 |
contrast(%) | 調整影象的對比度 。 值是0%的話,影象會全黑。 值是100%,影象不變。 值可以超過100%,意味著會運用更低的對比。若沒有設定值,預設是1。 |
drop-shadow(h-shadow v-shadow blur spread color) | 給影象設定一個陰影 效果。 可能的值: h-shadow - 必需 。指定水平陰影的畫素值。負值將影象左邊的陰影放置。 v-shadow - 必需 。指定垂直陰影的畫素值。負值將陰影放在影象上方。blur - 可選 。這是第三個值,必須以畫素為單位。給陰影新增一個模糊效果。 更大的值將產生更多的模糊(陰影變得更加輕盈)。不允許使用負值。如果沒有指定值,則使用0(陰影的邊緣很尖)。 spread - 可選 。這是第四個值,必須以畫素為單位。積極值將導致陰影擴大並擴大,陰性值會導致陰影收縮。 如果沒有指定,它將為0(陰影將與元素的大小相同)。 注意: Chrome,Safari 和 Opera 以及其他瀏覽器,不支援第4個長度; 如果新增,它將不會呈現。 color - 可選。給陰影新增一個顏色。如果未指定,顏色取決於瀏覽器(通常為黑色)。建立一個紅色陰影的例子,它是8px大,水平和橫向,具有10px的模糊效果: filter: drop-shadow(8px 8px10px red); 提示: 此過濾器類似於 box-shadow 屬性。 |
grayscale(%) | 將影象轉換為灰度 。 0%(0)是預設值,代表原始影象。 100%將使影象完全灰色(用於黑白影象)。 注意: 不允許使用負值。 |
hue-rotate(deg) | 在影象上應用色相旋轉 。該值定義影象樣本將被調整的顏色圓周圍的數量。預設為0度,表示原始影象。 注意: 最大值為360度。 |
invert(%) | 反轉 影象中的樣品。 0%(0)是預設值,代表原始影象。 100%將使影象完全倒轉。 注意: 不允許使用負值。 |
opacity(%) | 設定影象的不透明度 級別。透明度級別描述了透明度級別,其中: 0%是完全透明的。 100%(1)是預設值,代表原始影象(無透明度)。 注意: 不允許使用負值。 提示: 此過濾器與 opacity 屬性類似。 |
saturate(%) | 使影象飽和 。 0%(0)將使影象完全飽和。 預設為100%,表示原始影象。 超過100%的值提供了超飽和的結果。 注意: 不允許使用負值。 |
sepia(%) | 將影象轉換為棕褐色 。 0%(0)是預設值,代表原始影象。 100%將使影象完全變成棕褐色。 注意: 不允許使用負值。 |
url() | url() 函式接受一個XML檔案,該檔案設定了 一個SVG濾鏡,且可以包含一個錨點來指定一個具體的濾鏡元素。 filter: url(svg-url#element-id) |
initial | 將此屬性設定為其預設值。 |
inherit | 從其父元素繼承此屬性。 |
- 多列效果
- column-count // 列數
- column-gap // 列與列間的間隙
- column-rule-style // 列邊框 // 如:solid
- column-rule-width // 邊框寬度
- column-rule-color // 邊框顏色
- column-rule // 如:column-rule: 1px solid red;
- column-span //指定元素跨越多少列
- column-width //指定列的寬度
- 使用者介面
- resize //調整尺寸(Resizing)
- outline-offset //外形修飾
- 多媒體查詢——針對不同媒體型別可以定製不同的樣式規則
多媒體查詢由多種媒體組成,可以包含一個或多個表示式,表示式根據條件是否成立返回 true 或 false。
@media not|only mediatype and (expressions) { CSS-Code; }
如果指定的多媒體型別匹配裝置型別則查詢結果返回 true,文件會在匹配的裝置上顯示指定樣式效果。
除非你使用了 not 或 only 操作符,否則所有的樣式會適應在所有裝置上顯示效果。
not
:用來排除掉某些特定的裝置的,比如 @media not print(非列印裝置)。
only
:用來定某種特別的媒體型別。對於支援Media Queries的移動裝置來說,如果存在only關鍵字,移動裝置的Web瀏覽器會忽略only關鍵字並直接根據後面的表示式應用樣式檔案。對於不支援Media Queries的裝置但能夠讀取Media Type型別的Web瀏覽器,遇到only關鍵字時會忽略這個樣式檔案。
all
:所有裝置,這個應該經常看到。
你也可以在不同的媒體上使用不同的樣式檔案:<linkrel="stylesheet" media="mediatype and|not|only (expressions)" href="print.css" >
值 | 描述 |
---|---|
all | 用於所有多媒體型別裝置 |
用於印表機 | |
screen | 用於電腦螢幕,平板,智慧手機等。 |
speech | 用於螢幕閱讀器 |
```
// 在螢幕可視視窗尺寸大於 480 畫素的裝置上修改背景顏色
@media screen and (min-width: 480px) {
body {
background-color: lightgreen;
}
}
```