最近在處理View的版面,發現每個工程師並不是對CSS的權重或是設計方法有深度了解,雖然知道css語法,但卻不會有統一性的設計方針,導致View中有很多地方都出現CSS。
有的人習慣寫在Inline style裡面如:<div style="width:100%">
,有的人習慣寫在class裡面,或是有人會用asp.net mvc5提供的bundle功能將css包好在@Script.Render
的方式引用。
也有人喜歡直接在View中,直接使用<style></style>
將CSS語法包在View中,導致維護上的困難,因此最近剛好要需要研究這一塊,來複習一下前端的知識,再找時間將專案Refactoring(OTZ)。
所謂「自動調適型網頁設計」(Responsive Web Design,簡稱RWD),就是讓網站能夠根據PC、平板、手機等不同大小的畫面,自動調整成最適合的顯示版面。
語法:@media 媒體類型 and (條件) {}
條件如:
Media Type
@media screen and (max-width:480px) {
...
}
@media screen and (min-width:481px){
...
}
@media screen and (min-width:768px){
...
}
@media screen and (min-width:1024px){
...
}
一開始會先使用方格設計個別元素,在確定個別元素位置之後,將px單位改為%單位,就能依據畫面大小調整。
例如網頁版的配置如下:
body {
width: 1024 px;
}
#contents{
width: 740px;
}
footer{
width: 1024px;
}
在設計完整個版面後,我們將px換成%單位。
body {
width: 100%;
}
#contents{
width: 76.266%;
}
footer{
width: 100%;
}
子元素百分比(%) = 欲變更元素的px/父元素的px*100
再與Media Queries做搭配,即可滿足個畫面最適合的顯示效果
針對頁面中的圖片,可在CSS設定保持長寬比。
img { max-width:100%; height:auto; }
#background-image{ background-size:cover; }
embed, object{ max-width:100%; }