傳統布局
flex布局
操作方便,布局極其簡單,移動端使用比較廣泛
PC端瀏覽器支持情況比較差
IE11或更低版本不支持flex或僅支持部分
如果是PC端頁面布局,還是採用傳統方式
如果是移動端或者是不考慮兼容的PC則採用flex
flex布局原理
flex是flexible box的縮寫,意為彈性布局,用來為盒狀模型提供最大的靈活性,任何一個容器都可以指定為flex布局
當我們為父盒子設為flex布局以後,子元素的float、clear和vertical-align屬性將失效
flex布局又叫伸縮布局、彈性布局、伸縮布局、彈性盒子布局
採用flex布局的元素稱為flex容器(flex container)簡稱容器,它的所有子元素自動成為容器成員,稱為(flex item)「項目」
總之:就是通過給父盒子添加flex屬性,來控制盒子的位置和排列方式
父項常見屬性
flex-direction://設置主軸的方向justify-content: //設置主軸上的子元素排列方式flex-wrap://設置子元素是否換行align-content://設置側軸上的子元素的排列方式(多行)align-items: //設置側軸上的子元素排列方式(單行)flex-flow://複合屬性,相當於同時設置了flex-direction和flex-wrap
rem單位(root em)是一個相對單位,類似於em,em是父元素字體大小。例如根元素html:font-size=12px,則非根元素font-size:2rem就是24px
rem的優勢:父元素文字大小可能不一致,但是整個頁面只有一個html,可以很好來控制整個頁面的元素大小。
媒體查詢(media query)是CSS3的新語法
使用@media查詢,可以針對不同的媒體查詢類型定義不同的樣式
@可以針對不同的屏幕尺寸設置不同的樣式
當你重置瀏覽器大小的過程中,頁面也會根據瀏覽器的寬度和高度重新渲染頁面
目前針對很多蘋果手機,Android手機,平板等設備都用得到多媒體查詢
語法規範
@media mediatype and not only(media feature){css code;}//mediatype 查詢類型all //用於所有設備print //用於印表機和列印預覽scree //用於電腦屏幕、平板電腦、智慧型手機等//關鍵字,將媒體類型或多個媒體特性連接到一起做為媒體查詢的條件and //連接多個媒體「且」not //排除某個媒體「非」only //指定某個特定的媒體,可以省略//媒體特性width //定義輸出設備中頁面可見區域寬度min-width //定義輸出設備中頁面最小可見寬度max-width //最大可見寬度
書寫規則
從小到大寫或從大到小寫,但習慣從小到大寫。
less介紹
是一門css擴展預處理器。在css的語法基礎之上,引入了變量,mixin(混入)。運算以及函數等功能,大大簡化了css的編寫,並且降低了css的維護成本。
中文網址:
http://lesscss.cn///常見的css預處理器:sass、less、stylus
less安裝
安裝Node.js
http://nodejs.cn/download/
檢查是否安裝成功,使用cmd命令,輸入node -v查看版本即可
基於nodejs在線less,使用cmd命令「npm。install -g less」
檢查是否安裝成功,使用「lessc -v」查看版本即可
less變量
@變量名:值;
必須有@為前綴
不能包含特殊字符
不能以數字開頭
大小寫敏感
less編譯 vscodeless插件
easy less插件用來把less文件編譯為css,安裝好後,只要保存一下less文件,會自動生成css文件。
less運算
任何數字,顏色或者變量都可以參與運算,less提供了加減乘除運算。
rem適配方案
vscode px轉換rem的插件cssrem,默認插件的16轉換,需要自己手動配置。