頁面制作——CSS 6-8

6.布局

布局:將元素以正確的大小擺放在正確的位置上。

display屬性:設(shè)置元素的顯示方式阔挠。block | inline | inline-block | none

display:block;塊級元素缤谎,默認寬度為父元素寬度匙监,可設(shè)置寬高琐馆,(相對于前序元素及后續(xù)元素)換行顯示瀑粥。默認為 display:block 的元素有 div p h1-h6 ul form ...

display:inline;行級元素,默認寬度為內(nèi)容寬度萍诱,不可設(shè)置寬高,同行顯示(元素內(nèi)部可換行)污呼。默認為 display:inline 的元素有 span a label cite em ...

display:inline-block;默認寬度為內(nèi)容寬度裕坊,可設(shè)置寬高,同行顯示燕酷,(若為后續(xù)元素籍凝,寬度超過一行的邊界)整塊換行。默認為 display:inline-block 的元素有 input textarea select buttom ...

display:none;設(shè)置元素不顯示(后續(xù)元素占據(jù)他的位置) ?visibility:hidden; 把元素隱藏苗缩,位置還在饵蒂。

margin:0 auto; 塊級元素水平居中。

居中導航

在IE下實現(xiàn) inline-block 顯示(IE6,IE7):在IE下酱讶,display:inline-block; 只是觸發(fā)了元素的 layout 退盯。比如將 display:inline-block; 設(shè)置到 div 上,只能保證這個 div 擁有塊元素的特征(可以設(shè)置寬度,高度)渊迁,但還是會產(chǎn)生換行慰照。接下來要設(shè)置 display:inline; 使其不產(chǎn)生換行。將 display:inline-block;*display:inline-block; 寫在同一個樣式上琉朽, inline-block 是不會觸發(fā)元素的 layout(布局)的毒租,因此我們還要額外加上 *zoom:1; 來觸發(fā)布局。

position定位:設(shè)置定位方式(設(shè)置參照物)

top / right / bottom / left (可為負值):top(元素上邊緣與參照物上邊緣的距離)箱叁,right(元素右邊緣與參照物右邊緣的距離)墅垮,bottom(元素下邊緣與參照物下邊緣的距離),left(元素左邊緣與參照物左邊緣的距離)耕漱。配合定位使用噩斟。

z-index 和 z-index棧:z-index配合定位使用,設(shè)置 z 軸上的排序孤个,默認為 0 剃允。z-index棧表示父元素 的 z-index 較大時,所有子元素都在上層齐鲤。

position:static | relative | absolute | fixed ? ? static 為默認值

position:relative;相對定位 ,仍在文檔流中斥废,參照物為元素本身。最常用的場景:改變元素 z 軸上層級给郊,使用場景:絕對定位元素(position:absolute;)的參照物牡肉。

position:absolute;絕對定位,默認寬度為內(nèi)容寬度淆九,脫離文檔流统锤,參照物為第一個祖先元素(根元素)。對絕對定位的祖先元素(根元素)設(shè)為相對定位炭庙,對其他元素無影響饲窿,可以把它只當作參照物使用。絕對定位應(yīng)用場景:輪播頭圖焕蹄。

輪播頭圖

position:fixed;默認寬度為內(nèi)容寬度逾雄,脫離文檔流,參照物為視窗(IE6 及以下不支持)腻脏。

固定頂欄
遮罩
三行自適應(yīng)布局

float:left | right | none | inherit

默認寬度為內(nèi)容寬度鸦泳,脫離文檔流(不再占有原來位置),向指定方向移動(會被邊界擋子榔贰)做鹰。

float 元素在同一文檔流:第二個 float 元素在第一個 float 元素后面,按文檔流順序排列鼎姐。

float 元素半脫離文檔流:對其他元素脫離文檔流钾麸,對內(nèi)容在文檔流(文字環(huán)繞)更振。

clear:both | left | right | none | inherit 應(yīng)用于浮動元素的后續(xù)元素,塊級元素。清除浮動對后續(xù)元素的影響。

使用 clear 的兩種方式:增加空白元素(用的較少)张惹,clearfix(浮動元素的父元素加上類名 clearfix)

兩列布局

flex 彈性布局

flex container:HTML元素為彈性布局,稱元素為flex container乎芳。彈性容器的子元素成為 flex item。把 flex item 的排列方向稱為 main axis (主軸)帖池,跟主軸垂直方向的稱為 cross axis(輔軸)奈惑。

創(chuàng)建 flex container ?display:flex; 彈性容器的直接子元素為彈性布局。在文檔流中的子元素為 flex item睡汹。

(1)方向 (設(shè)置在 flex-container 的屬性)

flex-direction:row | row-reverse | column | column-reverse 設(shè)置彈性元素排列的方向肴甸,默認為 row 從左到右。

flex-wrap:nowrap | wrap | wrap-reverse 設(shè)置元素換行囚巴,默認為nowrap原在,未換行時元素收縮。

flex-flow:<'flex-direction'>||<'flex-wrap'> ?可同時設(shè)置排列方向及換行方式

order:<integer> 初始值為0彤叉,按文檔流順序排列(flex-direction),值越大排后面

(2)彈性相關(guān)屬性(設(shè)置在 flex-item 的屬性)

flex-basis:main-size | <width> ?設(shè)置flex item 的初始寬/高庶柿,默認值為 main-size,主方向?qū)挾然嘟健H绻鞣较蛩皆O(shè)置寬度浮庐,垂直設(shè)置高度。作為彈性基數(shù)要結(jié)合彈性來看柬焕。

flex-grow:<number> 初始值為0审残,設(shè)置元素分配到空余空間的比例。在未設(shè)置 flex-grow 時先按照寬度(高度)進行排列斑举,如果發(fā)現(xiàn)有空余空間搅轿,就看有沒有元素設(shè)置 flex-grow,根據(jù) flex-grow 算比例懂昂,把多余空間進行分配介时。

彈性布局元素的寬度:flex-basis + flow-grow/sum(flex-grow)*remain(剩余空間)

flex-shrink:<number> 初始值為1。剩余空間為負凌彬,在各個元素間怎么分配。默認為 1 把剩余負空間平分循衰。

flex-shrink 元素的寬度:flex-basis + flow-shrink/sum(flex-shrink)*remain(剩余負空間)

flex:<'flex-grow'>||<'flex-shrink'>||<'flex-basis'>

(3)對齊

justify-content:flex-start | flex-end | center | space-between | space-around ?設(shè)置 main-axis 方向上的對齊方式铲敛。與 text-align 類似,如何把剩余空間分配成間隔的分配方式会钝。默認為 flex-start伐蒋,由主軸方向決定工三。space-between 把空白空間平分到間隔,space-around 把空白空間分到間隔與首尾先鱼。

justify-content:flex-start | flex-end | center | baseline | stretch ?設(shè)置 cross-axis 方向上的對齊方式俭正。在輔軸上有剩余空間如何做對齊,與 vertical-align 類似。默認值為 stretch 焙畔,延展充滿輔軸空間掸读。

align-self:auto | flex-start | flex-end | center | stretch ?設(shè)置單個 flex-item 在 cross-axis 方向上對齊方式。auto 為默認值宏多,設(shè)在容器上的對齊方式儿惫。

align-content:flex-start | flex-end | center | space-between | space-around | stretch 設(shè)置 cross-align 方向上的行對齊方式。當出現(xiàn)多行并且在容器中有剩余空間伸但,行應(yīng)該怎么做對齊肾请,剩余空間怎么分配。默認為 stretch 更胖,行對齊填滿剩余空間铛铁。

三行兩列自適應(yīng)布局


7.變形

transform:none | <transform-function>+

2d 變形

rotate(<angle>) 旋轉(zhuǎn) :當角度為正值時順時針旋轉(zhuǎn),負值時逆時針旋轉(zhuǎn)却妨。旋轉(zhuǎn)會改變坐標方向饵逐。

translate(<translation-value>[,<translation-value>]?) 移動:第一個值表示 x 軸偏移(正值向右),第二個值表示 y 軸偏移(正值向下)管呵。只有一個值表示僅 x 軸偏移梳毙。若值為百分比,參照物為當前盒子大芯柘隆(寬 / 高)账锹。

translateX(<translation-value>)? ? ? ? translateY(<translation-value>)

scale(<number> [,<number>]?) 縮放:第二個值省略時表示與第一個值相同。

scaleX(<number>) ? ? ? ? ? ? ? ? ? ? ? ?scaleY(<number>)

skew(<angle>) 傾斜:第一個值表示 y 軸往 x 軸方向傾斜坷襟,第二個值表示 x 軸往 y 軸傾斜奸柬。只有一個值僅 y 軸傾斜。skewX(<angle>) ? ? ? ? ? ? ? ? ? ? ? ? skewY(<angle>)

transform:<transform-function>+:多個 transform-function 連在一起時婴程,他們的順序會影響表現(xiàn)廓奕。

transform-origin 設(shè)置旋轉(zhuǎn)時原點位置。三個值表示 x y z 方向

transform-origin:[ left | center | right | top | bottom | <percentage> | <length> ] ?|

[ left | center | right | <percentage> | <length>?] [ top | center | bottom | <percentage> | <length> ] <length>? ?|

[ center | [ left | right ]] && [ center [ top | bottom ]] <length>?

transform-origin:50% 50%; 默認值档叔,以中心點為原點進行旋轉(zhuǎn)

transform-origin:0 0;容器左上角

transform-origin:20%; y 軸默認為50%

3d 變形

perspective:none | <length> 透視效果 <length>表示人眼到物體的距離桌粉,人眼離物體越近,透視效果更明顯衙四。

perspective-origin 透視角度铃肯,改變?nèi)搜劭赐敢暤奈恢?/p>

perspecttive-origin:[ left | center | right | top | bottom | <percentage>?| <length>?]? |

[ left | center | right | <percentage>?| <length>] [ top | center | bottom | <percentage>| <length>] ? |

[ center | [ left | right ]] && [ center [ top | bottom ]]

perspective-origin:50% 50%; 默認值,在物體的正中間透視传蹈。

perspective-origin:50% -800px; 從頂上往下看

perspective-origin:right; y 軸默認為 50%押逼。

translate3d(<translation-value>,<translation-value>,<length>) ?3d 移動

translateX(<translation-value>) ? ?translateY(<translation-value>) ? ?translateZ(<translation-value>)

scale3d(<number>,<number>,<number>) 3d 縮放

scaleX(<number>) ? ?scaleY(<number>) ? ? scaleZ(<number>)

scaleZ(5) 不影響寬高? transform:scaleZ(5) translateZ(100px); 表示移動了500px,視覺上變大步藕。

rotate3d(<number>,<number>,<number>,<angle>) 3d 旋轉(zhuǎn)

rotateX(<angle>) ? ? rotateY(<angle>) ? ? ?rotateZ(<angle>)

transform:rotate3d(1,0,0,45deg); ?x 軸上取1,與坐標原點連線作為旋轉(zhuǎn)軸旋轉(zhuǎn)45度挑格。

transform:rotate3d(0,0,1,45deg); 等價于 2d 旋轉(zhuǎn)

transform-style:flat | preserved-3d ?flat 為默認值咙冗,扁平化。preserved-3d 保留3d空間漂彤,在父元素上寫雾消。

backface-visibility:visible | hidden 背面是否可見 默認可見


8.動畫

transition 過渡

transition-property:none | <single-transition-property>[,<single-transition-property>]* ?過渡效果的屬性

<single-transition-property> = all | <IDENT> ?

transition-property:none;默認值 transition-property:all; 所有屬性都有過渡效果

transition-property:left,color; 只有 left 和 color 屬性有過渡效果。

transition-duration:<time> [,<time>] ? 過渡效果執(zhí)行時間

transition-timing-function : <single-transition-timing-function> [,<single-transition-timing-function>]*

<single-transition-timing-function> = ease | linear | ease-in | ease-out | ease-in-out | step-start | step-end | steps(<integer>[,[ start | end ]]?) | cubic-bezier(<number>,<number>,<number>,<number>)

ease 默認值显歧,兩頭慢中間快 ? linear 勻速 ? ease-in ?開始慢 ? ?ease-out ?結(jié)束慢 ??

ease-in-out 與ease相比幅度更大? step-start 等價于 steps(1,start)??

step-start 等價于 steps(1,start) ? ?steps(<integer>[,[ start | end ]]?) 整數(shù)代表時間函數(shù)中的間隔數(shù)量仪或,start 和 end 指定在每個間隔的起點或是終點發(fā)生變化。

cubic-bezier 中的 number 分別為下圖貝塞爾曲線的?P1 P2 坐標士骤,y/x 越大越快范删。

貝塞爾曲線

transition-delay:<time>[,<time>]* ? 延時

transition:<single-transition> [',' <single-transition>]*

<single-transition> = [ none | <single-transition-property>] || <time> || <single-transition-timing-function> || <time> 第一個 time 為執(zhí)行時間,第二個為延時

transition:left 2s ease 1s;

animation 動畫

animation-name:<single-animation-name>[',' <single-animation-name>]*

<single-animation-name> = none | <IDENT> 為 animation 指定一個名稱拷肌,來自關(guān)鍵幀的定義

animation-duration:<time>[,<time>]* 動畫執(zhí)行時間

animation-timing-function 時間函數(shù)

animation-iteration-count:<single-animation-iteration-count>[','<single-animation-iteration-count>]*

<single-animation-iteration-count> = infinite | <number> ?動畫執(zhí)行的次數(shù)

animation-direction:<single-animation-direction>[','<single-animation-direction>]*

<single-animation-direction> = normal | reverse | alternate | alternate-reverse

定義動畫的方向 ?alnernate 往返

animation-play-state:<single-animation-play-state> [','<single-animation-play-state>]*

<single-animation-play-state> = running | paused ? 播放狀態(tài)到旦,讓動畫暫停或播放

animation-delay:<time>[','<time>]* 延時

animation-fill-mode:<single-animation-fill-mode>[','<single-animation-fill-mode>]*

<single-animation-fill-mode> = none | backwards | forwards | both

backwards 開始時保持第一幀狀態(tài) ?forwards 結(jié)束時保持最后一幀狀態(tài)

animation:<single-animation>[','<single-animation>]*

<single-animation> = <single-animation-name> || <time> || <single-animation-timing-function> || <time> || <single-animation-iteration-count> || <single-animation-direction> || <single-animation-fill_mode> || <single-animation-play-state>

animation: abc 2s ease 0s 1 normal none running; animation:abc 1s 2s both;

@keyframes ?關(guān)鍵幀定義 用 animation 調(diào)用

@keyframes abc{ from{...}? to{...} }? ? ? ? @keyframes abc{ 0%{...}? 100%{...} }

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末巨缘,一起剝皮案震驚了整個濱河市添忘,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌若锁,老刑警劉巖搁骑,帶你破解...
    沈念sama閱讀 221,273評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異又固,居然都是意外死亡仲器,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,349評論 3 398
  • 文/潘曉璐 我一進店門仰冠,熙熙樓的掌柜王于貴愁眉苦臉地迎上來乏冀,“玉大人,你說我怎么就攤上這事洋只×韭伲” “怎么了?”我有些...
    開封第一講書人閱讀 167,709評論 0 360
  • 文/不壞的土叔 我叫張陵识虚,是天一觀的道長肢扯。 經(jīng)常有香客問我,道長担锤,這世上最難降的妖魔是什么鹃彻? 我笑而不...
    開封第一講書人閱讀 59,520評論 1 296
  • 正文 為了忘掉前任,我火速辦了婚禮妻献,結(jié)果婚禮上蛛株,老公的妹妹穿的比我還像新娘。我一直安慰自己育拨,他們只是感情好谨履,可當我...
    茶點故事閱讀 68,515評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著熬丧,像睡著了一般笋粟。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上析蝴,一...
    開封第一講書人閱讀 52,158評論 1 308
  • 那天害捕,我揣著相機與錄音,去河邊找鬼闷畸。 笑死尝盼,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的佑菩。 我是一名探鬼主播盾沫,決...
    沈念sama閱讀 40,755評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼殿漠!你這毒婦竟也來了赴精?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,660評論 0 276
  • 序言:老撾萬榮一對情侶失蹤绞幌,失蹤者是張志新(化名)和其女友劉穎蕾哟,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體莲蜘,經(jīng)...
    沈念sama閱讀 46,203評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡谭确,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,287評論 3 340
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了菇夸。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片琼富。...
    茶點故事閱讀 40,427評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖庄新,靈堂內(nèi)的尸體忽然破棺而出鞠眉,到底是詐尸還是另有隱情,我是刑警寧澤择诈,帶...
    沈念sama閱讀 36,122評論 5 349
  • 正文 年R本政府宣布械蹋,位于F島的核電站,受9級特大地震影響羞芍,放射性物質(zhì)發(fā)生泄漏哗戈。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,801評論 3 333
  • 文/蒙蒙 一荷科、第九天 我趴在偏房一處隱蔽的房頂上張望唯咬。 院中可真熱鬧纱注,春花似錦、人聲如沸胆胰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,272評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蜀涨。三九已至瞎嬉,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間厚柳,已是汗流浹背氧枣。 一陣腳步聲響...
    開封第一講書人閱讀 33,393評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留别垮,地道東北人便监。 一個月前我還...
    沈念sama閱讀 48,808評論 3 376
  • 正文 我出身青樓,卻偏偏與公主長得像宰闰,于是被迫代替她去往敵國和親茬贵。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,440評論 2 359

推薦閱讀更多精彩內(nèi)容

  • 選擇qi:是表達式 標簽選擇器 類選擇器 屬性選擇器 繼承屬性: color移袍,font解藻,text-align,li...
    wzhiq896閱讀 1,759評論 0 2
  • 選擇qi:是表達式 標簽選擇器 類選擇器 屬性選擇器 繼承屬性: color葡盗,font螟左,text-align,li...
    love2013閱讀 2,316評論 0 11
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案觅够? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽?zāi)J的外補...
    _Yfling閱讀 13,756評論 1 92
  • 移動開發(fā)基本知識點 一.使用rem作為單位 html { font-size: 100px; } @media(m...
    橫沖直撞666閱讀 3,482評論 0 6
  • H5移動端知識點總結(jié) 閱讀目錄 移動開發(fā)基本知識點 calc基本用法 box-sizing的理解及使用 理解dis...
    Mx勇閱讀 4,519評論 0 26