https://judyyutong.github.io/my-projects/fullScreen.html
*半透明覆蓋色塊,是為明顯標示container
和banner-txt
兩者重疊所佔版面而暫時顯示,實際版面練習作品沒有此色塊。
background: linear-gradient
:運用多重背景(Multiple Backgrounds) 寫法,控制傾斜角度、畫面佔比、透明度、對齊位置等,達到色彩與圖片滿版斜切display:flex
:透過flex軸向、物件對齊方式等進行排版vh
:vh=viewport height=視窗高度,設容器高度為100vh即為滿版高(縮放視窗就不會出現捲軸)–
*
代表套用至全部元素,以上設定用於消除所有瀏覽器預設的外距、內距以及清單預設列點縮排空間。
–
background-color
先隨意指定顏色為#CCCCCC,反正之後會被background: linear-gradient
的效果給覆蓋過去。
background: linear-gradient
使用 多重背景寫法:
rgb(224, 221, 216)
,另外50%是透明transparent,background position
設為中間(*其實這邊測試只打一個center也行,不知道為何要打兩個center?),漸層色寬100%,高100%,佈滿畫面。background position
設為 right center,寬度auto,高度100%–
分有「Flexbox外容器」與「Flex items子物件」,外容器與子物件有各自適用的屬性,如果屬性沒有施加在對應對象上就會無效。外內屬性分類可見他人文章介紹「圖解:CSS Flex 屬性一點也不難」、Flex 觀念與應用
display:flex
要設定在父層。
因此本切版練習中,若想針對文字進行排版,得先建立一個父層「外容器」把所有文字包在其中:建立banner-txt
,並宣告display:flex
。
flex-direction: column
:負責主軸資料流向排列方式,column
是由上往下排列。(補充:預設會是row)
justify-content: center
:負責主軸資料流向對齊方式,center
為「置中」。當資料流向是column
(由上往下)時,center
對齊便是「垂直置中」。
在此範例中表示banner-txt
容器內的子物件都會與banner-txt
這個父層彼此垂直置中。
align-items: flex-start
:負責次軸對齊方式,flex-start
表示對齊「起點」。
align-items
僅針對單行子物件作用。
(本次範例中,主軸由上往下,所以次軸就是由左往右,因而對齊起點=靠左對齊。)
這個設定能使得.banner-txt h1
的CSS設定border-bottom: 1px solid #333;
,也就是「這個網頁畫面怎麼切」底下的黑線,不要無限橫向延伸,而是齊左對齊並只撐到文字框份量。
最後達到用flex讓文字由上往下排列,並且齊左對齊。
–
原本最外層的.banner
高度設為100vh,則高度會與視窗大小相等,因而形成滿版,則瀏覽器視窗不會有捲軸;但若不想要畫面撐到最滿,而把高度單位改為700px,瀏覽器視窗就會出現捲軸。
註:Relative Lengths
vh:Relative to 1% of the height of the viewport