實(shí)現(xiàn)一個(gè)響應(yīng)式布局的網(wǎng)站——以NASA官網(wǎng)為例(未完)

響應(yīng)式

響應(yīng)式網(wǎng)頁設(shè)計(jì)是一種解決問題的途徑帕胆,它建議設(shè)計(jì)和開發(fā)應(yīng)該根據(jù)用戶行為和環(huán)境(基于屏幕大小,平臺(tái)和方向)進(jìn)行響應(yīng)芙盘,這種實(shí)踐由靈活的網(wǎng)格和布局儒老、圖片和CSS媒體查詢的智能使用所構(gòu)成记餐。當(dāng)用戶從他們的便攜式電腦切換到iPad的時(shí)候,網(wǎng)站應(yīng)該自動(dòng)切換合適的分辨率囚衔,圖片尺寸和腳本能力练湿。換句話說肥哎,網(wǎng)站應(yīng)該能夠自動(dòng)響應(yīng)用戶的設(shè)備參數(shù)断国。這樣就沒必要對(duì)市場上每一種設(shè)備都要進(jìn)行不同的設(shè)計(jì)和開發(fā)。

解決方案

0 根據(jù)屏幕分辨率調(diào)整樣式

相關(guān)工具:viewport霞捡、@media媒體查詢碧信、利用JavaScript在不同的樣式表間切換,重新排放使之適應(yīng)不同的窗口寬度躏筏。

1 元素做成響應(yīng)式:

1.1文字做成響應(yīng)式

1.1.1 自適應(yīng)式文字

相關(guān)工具:em單位

1.1.2 如果想要對(duì)每一行特定的文本字符進(jìn)行優(yōu)化趁尼,我們可以使用彈性布局酥泞,它基于用戶的文本大小來改變布局寬度

相關(guān)工具:flex

1.2 圖片和視頻做成響應(yīng)式:

1.2.1隱藏和顯示部分圖片

相關(guān)工具:display:none芝囤、visibility(visible | hidden | collapse)

1.2.2?創(chuàng)建變化的復(fù)合圖片

相關(guān)工具:媒體查詢辛萍、overflow(visible | hidden | scroll | auto)

1.2.3?隨著布局縮放的前景圖片

相關(guān)工具:max-width、max-width+媒體查詢(使得設(shè)計(jì)在極端的尺寸下不要被拉得太長/壓得太扁)

2 布局做成響應(yīng)式:

2.1流式布局(liquid layout):

根據(jù)頁面寬度悯许,對(duì)已存在于網(wǎng)頁中的元素進(jìn)行重新布局岸晦。

相關(guān)工具:max-width、max-width+媒體查詢(限定彈性程度)

2.2彈性布局(elastic layout):

在間隔一致的水平或垂直的線所形成的網(wǎng)格中設(shè)計(jì)一致的模式邢隧。

相關(guān)工具:flex、max-width按摘、max-width+媒體查詢(限定彈性程度)

2.3布局網(wǎng)格(layout grid)

在間隔一致的水平和垂直的線所形成的網(wǎng)格中設(shè)計(jì)一致的模式纫谅。

相關(guān)工具:grid(做法是定義一個(gè)容器元素并設(shè)置display:grid付秕,使用grid-template-columns 和 grid-template-rows屬性設(shè)置網(wǎng)格的列與 行的大小,然后使用grid-column 和 grid-row屬性將其子元素放入網(wǎng)格之中掠河。與flexbox類似唠摹,網(wǎng)格項(xiàng)的源順序無關(guān)緊要。為了更好地使你的網(wǎng)格與媒體查詢相結(jié)合使用煮甥,你可以在 CSS 中任意放置成肘。)

實(shí)例分析:

NASA主頁在兩種窗口寬度下的頁面顯示狀態(tài):

設(shè)備尺寸小于1101px


設(shè)備尺寸大于1101px

1 整理現(xiàn)有內(nèi)容

1.1 初始設(shè)置

1.1.1 在html中調(diào)用fonts.googleapis.com字體

1.1.2?在html中加入viewport?

因?yàn)槲覀円庙憫?yīng)式艇劫,所以一開始先在html中加入viewport?聲明:meta name=“viewport”content=“width=device-width,initial-scale=1.0,? minimum-scale=1.0,? user-scalable=no”

1.1.3 全局樣式設(shè)置

html店煞、body顷蟀、header的background鸣个、盒內(nèi)參數(shù)

1.2 分區(qū)處理頁面

整體頁面大致可以分為navigation囤萤、main涛舍、footer三大塊富雅,下面以navigation為例肛搬,處理navigation的分塊温赔。

1.2.1?圖層間關(guān)系

這一步是為了區(qū)分結(jié)構(gòu)

技巧:再定大調(diào)的過程中,這2個(gè)nav扣溺,可以先不同背景色區(qū)分開來瓜晤,之后處理樣式:

1.2.2 確定布局:


layout

grid就是為排版而生的,這里使用grid驱犹。

然后調(diào)整網(wǎng)格:

header{

# display:grid;

# grid-template-columns:20% auto 20%;

# grid-template-rows:repeat(2,58px)

.logo{

# grid-row:1/span 2;? ?/*從第一行開始雄驹,橫跨2個(gè)行*/

# grid-column:1;

background:url(“img=”);

}

.main-nav{

# grid-row:1医舆;

# grid-column:2蔬将;

background:black;

}

.sub-nav{

# grid-row:2霞怀;

# grid-column:2莉给;

background:black;

}

.util{

# grid-row:1徐矩;

# grid-column:3叁幢;

background:black;

}

1.2.2 確定各個(gè)元素display屬性

區(qū)分容器中的塊元素/行內(nèi)元素

/*調(diào)整display*/

.main-nav{

##? display:inline-block丧蘸;

# grid-row:1;

# grid-column:2遥皂;

background:black;

}

.sub-nav{

##? display:inline-block;

# grid-row:2刽漂;

# grid-column:2演训;

background:black;

}

.util{

##? display:inline-gird岛抄;

# grid-template-columns:? 60%? 20%? 20%狈蚤;

# grid-template-rows:repeat(1,50px)诗箍;

# grid-row:1楷掉;

# grid-column:3腰埂;

background:black;

}

.search-input{

##? display:inline-block;

}

.util-img{

##? display:inline-block全闷;

}

1.2.3?細(xì)化盒內(nèi)參數(shù)(content)

.util{

##? display:inline-gird漂问;

# grid-template-columns:? 60%? 20%? 20%

# grid-template-rows:repeat(1,50px)/*repeat:*/

.search-input{

##? display:inline-block吊说;

###? width:100%厅贪;

### height:100%;}

.util-img{

##? display:inline-block;

###? width:50px;

}

1.2.4 細(xì)化盒內(nèi)參數(shù)(padding尊沸、border屁商、margin)

/*可以在devtool里看一下效果;對(duì)于微調(diào),你第一個(gè)想到的就是默認(rèn)的那些事兒望伦。因?yàn)闉g覽器經(jīng)常會(huì)默認(rèn)padding和border,這時(shí)需要把它們定義為0*/

.search-input{

##? display:inline-block;

###? width:100%;

### height:100%垢乙;

#### border:0;

}


1.2.5?處理細(xì)節(jié)

/*接下來是細(xì)節(jié),首先處理豎線問題:因?yàn)樨Q線比字體大小更大巴席,可以main-nav用border-left:? solid 2px實(shí)現(xiàn)*/

.main-nav li{

# grid-row:1赵刑;

# grid-column:2;

Background:black;

}

.main-nav li{

##### border-left:2px solid #a55555;

####height:30px;

##? display:inline-block;

}

/*把第一個(gè)的左邊線去掉*/

.main-nav li:first-child{

##### border-left:0px?

}

/*再去除間距:用對(duì)li元素設(shè)置inline-block屬性,再消除inline-block間距來實(shí)現(xiàn)橫欄的樣式。*/

/*再對(duì)字體,顏色和間距進(jìn)行微調(diào)*/

.sub-nav li{

##### border-left:solid 1px white;

##? display:inline-block;

########? color:white;

######## font-size:13px;

########? margin:18px 0 10px;

########? padding:0 10px;

background:grey;

}

/*再對(duì).util-img一分為二,進(jìn)行背景圖片的設(shè)置*/

.search-img{

##? display:inline-block蹋砚;

########? background:url(“”);

########? height:50px;

}

.share-img{

##? display:inline-block;

########? background:url(“”);

########? height:50px;

}

2 實(shí)現(xiàn)響應(yīng)式

寬度在1101px以上的樣式就做好了,接下來做寬度在1101px以下時(shí)候的樣式浦楣,然后設(shè)置樣式發(fā)生變化的觸發(fā)條件历恐,就達(dá)到了響應(yīng)式的效果吮旅。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末责嚷,一起剝皮案震驚了整個(gè)濱河市聂受,隨后出現(xiàn)的幾起案子棍鳖,更是在濱河造成了極大的恐慌祟辟,老刑警劉巖吼具,帶你破解...
    沈念sama閱讀 212,718評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件怖竭,死亡現(xiàn)場離奇詭異痊臭,居然都是意外死亡绽左,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,683評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來睹逃,“玉大人颠锉,你說我怎么就攤上這事拒垃。” “怎么了瓷蛙?”我有些...
    開封第一講書人閱讀 158,207評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵悼瓮,是天一觀的道長戈毒。 經(jīng)常有香客問我,道長横堡,這世上最難降的妖魔是什么埋市? 我笑而不...
    開封第一講書人閱讀 56,755評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮命贴,結(jié)果婚禮上道宅,老公的妹妹穿的比我還像新娘。我一直安慰自己胸蛛,他們只是感情好污茵,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,862評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著葬项,像睡著了一般泞当。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上民珍,一...
    開封第一講書人閱讀 50,050評(píng)論 1 291
  • 那天襟士,我揣著相機(jī)與錄音,去河邊找鬼嚷量。 笑死陋桂,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的蝶溶。 我是一名探鬼主播章喉,決...
    沈念sama閱讀 39,136評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼身坐!你這毒婦竟也來了秸脱?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,882評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤部蛇,失蹤者是張志新(化名)和其女友劉穎摊唇,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體涯鲁,經(jīng)...
    沈念sama閱讀 44,330評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡巷查,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,651評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了抹腿。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片岛请。...
    茶點(diǎn)故事閱讀 38,789評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖警绩,靈堂內(nèi)的尸體忽然破棺而出崇败,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 34,477評(píng)論 4 333
  • 正文 年R本政府宣布后室,位于F島的核電站缩膝,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏岸霹。R本人自食惡果不足惜疾层,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,135評(píng)論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望贡避。 院中可真熱鬧痛黎,春花似錦、人聲如沸刮吧。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,864評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽皇筛。三九已至,卻和暖如春坠七,著一層夾襖步出監(jiān)牢的瞬間水醋,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,099評(píng)論 1 267
  • 我被黑心中介騙來泰國打工彪置, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留拄踪,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,598評(píng)論 2 362
  • 正文 我出身青樓拳魁,卻偏偏與公主長得像惶桐,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子潘懊,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,697評(píng)論 2 351

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

  • 實(shí)現(xiàn)響應(yīng)式布局的網(wǎng)站 響應(yīng)式 響應(yīng)式網(wǎng)頁設(shè)計(jì)是一種解決問題的途徑姚糊,它建議設(shè)計(jì)和開發(fā)應(yīng)該根據(jù)用戶行為和環(huán)境(基于屏幕...
    禁欲系泰迪閱讀 149評(píng)論 0 0
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 13,741評(píng)論 1 92
  • 辛酉蘭秋 汶水之畔 秋陽杲杲 與君邂逅 辛酉玄月 獅子山前 秋風(fēng)蕭蕭 與君纏綿 辛酉嘉平 汶水之南 楊柳依依 與君別離
    柳下季子閱讀 174評(píng)論 1 2
  • 2017.2.17 這兩天身體感覺有些疲憊授舟,昨天小新把作業(yè)登記簿不知道丟哪兒了救恨,每天到了晚上,耐心就呈負(fù)數(shù)释树,于是會(huì)...
    米粒2020閱讀 261評(píng)論 0 0
  • 都說時(shí)光短暫肠槽,我親愛的陌生人,愿你且行且珍惜奢啥。(我是夕顏秸仙,希望能給你講一個(gè)溫暖的故事) 你生命里是否也有這樣一個(gè)人...
    五月夕顏閱讀 428評(píng)論 0 0