css基礎知識,日積月累1
border
border常用的屬性有4個;
1、寬度:border-width
2、樣式:border-stye dotted(點) dashed(曲線) solid(實線) none(沒邊框)
3、顏色:border-color
4、圓角:border-radius
小技巧
可以用border來實現小三角型,梯形等圖案;
示例:
{ font-size: 0; /*瀏覽器預設有字型大小和行高*/ line-height: 0; border-width: 5px; border-rigth-width: 0; /*設定右邊寬度為0*/ border-style: dashed; /*一定不能只設計左邊border的style,否則其他預設為none,會出錯,不能達到預期效果*/ border-left-style: solid; boder-color: transparent; /*設定其他邊為透明*/ border-left-color: #000; }
可以把不同邊的寬度設定的不同,以實現不同形狀的三角行
position定位
有5種定位模式
*static:預設值,及沒有定位,不受left,right,top,bottom的影響
*relative:相對佈局(參照原位置),受left,right,top,bottom的影響
*absolute:絕對定位,經常以relative元素為父容器,不佔空間,會出現重疊;
*fixed:固定位置,不受滑動視窗滑動影響
*sticky:可設定left,right,top,bottom之一作為閾值;
達到閾值前表現為relative,達到閾值後表現為fixed;
具體效果可看菜鳥教程。
應用:做滑動選單等;
背景圖
- background-image可以同時設定多個背景圖片,寫在前面的層級較高;
當使用背景圖時,一定要設定其size,否則圖片不顯示 - background-position ,用於確定背景圖的位置,可以為數字,正表示右(下)移;
也可以用right top表示從圖片右上角開始顯示;
當有多個背景圖,屬性之間用','分隔;
- background-repeat: repeat/no-repeat/repeat-x/repeat-y;
-
background-attachment設定背景影象是否固定或者隨著頁面的其餘部分滾動。
- scroll 背景圖片隨頁面的其餘部分滾動。這是預設
- fixed 背景影象是固定的
- inherit 指定background-attachment的設定應該從父元素繼承
文字格式
- 設定文字顏色 color
-
設定文字對齊方式 text-align
- center居中
- left 居左/right 居右
- justify 每一行被展開為寬度相等,左,右外邊距是對齊(如雜誌和報紙)
-
文字的豎直對齊方式 vertical-align作用物件不為text,是img...
- middle 位於父元件中部
- text-top 把元素的頂端與父元素字型的頂端對齊
- text-bottom 把元素的底端與父元素字型的底端對齊
-
文字修飾 text-decoration
- 可以用來加下劃線,刪除線,或去除連線的下劃線
- 指定文字第一行縮排 text-indent:50px;
- 設定行間距 line-height 可用於文字的豎直居中
- 設定單詞間距/字元間距 word-space/letter-space
- 控制文字的書寫方向 direction: rtl;
unicode-bidi 屬性與 direction 屬性一起使用,來實現文字的倒寫
- unicode-bidi 文字是否倒著寫
- white-space 常用於控制文字是否換行
css3新增屬性:
background-size:設定背景圖大小;可以設定畫素大小,也可以用百分數;
background-Origin,用於指定背景影象顯示的位置;
content-box;在內容部分顯示;
padding-box;在內邊距顯示;
margin-box;在外邊距顯示;
background-clip,用於指定背景影象開始顯示的位置;
content-box;從內容部分開始;
padding-box;從內邊距開始;
margin-box;從外邊距開始;
2D變換
*語法:transform:none | translate()……
- translate(x,y)方法,以x,y軸為參考進行平移操作;px
- rotate(x)方法,在一個給定讀書順時針旋轉,可以為負值;deg
- scale(x,y)方法,規模的變化,寬度變為x倍,高度變為y倍;
- skew(x,y),分別表示x軸,y軸傾斜的角度;
(類似於極座標,使用後以該座標係為標準)
上述方法均可以單獨對一個座標軸使用;(例:scale Y());
- matrix()方法。將所有的2D方法合併成一個;
3D轉換類似
css3過渡
元素從一種樣式改變為另一種樣式的效果
- transition:width 2s;要指定新增效果的屬性,指定效果持續時間
- 觸發過渡的事件,比如滑鼠移動到上面,或點選……
- Transition-delay,效果何時開始
- Transition-timing-function:過渡效果的事件曲線
預設為ease,linear(查css文件)
css3動畫
- 在@keyframes裡定義動畫
- 把動畫繫結到一個選擇器,否則不會有任何效果;
@keyframes myfirst{
from {background: red;}
to {background: yellow;}
//from,to和0%,100%對應。常用下面選擇器
/*
0% {background: red;}
25% {background: blue;}
50% {background: yellow;}
100% {background: green;}
*/
}
div{
animation: myfirst 5s;
}
常用屬性(其他屬性可查文件)
- animation-timing-function設定動畫的速度曲線
- animation-iteration-countd動畫的迴圈次數,預設為1,infinite為無限迴圈
css3多列
屬性 | 描述 |
---|---|
column-count | 指定元素應該被分割的列數。 |
column-fill | 指定如何填充列 |
column-gap | 指定列與列之間的間隙 |
column-rule | 所有 column-rule-* 屬性的簡寫 |
column-rule-color | 指定兩列間邊框的顏色 |
column-rule-style | 指定兩列間邊框的樣式 |
column-rule-width | 指定兩列間邊框的厚度 |
column-span | 指定元素要跨越多少列 |
column-width | 指定列的寬度 |
columns | 設定 column-width 和 column-count 的簡寫 |
滴水穿石,不是力量大,而是功夫深