自適應(yīng)網(wǎng)頁的實現(xiàn)

1.自適應(yīng)網(wǎng)頁設(shè)計

2010年医男,Ethan Marcotte提出了"自適應(yīng)網(wǎng)頁設(shè)計"(Responsive Web Design)這個名詞,指可以自動識別屏幕寬度掂之、并做出相應(yīng)調(diào)整的網(wǎng)頁設(shè)計蕊梧。

他制作了一個范例,里面是《福爾摩斯歷險記》六個主人公的頭像球拦。如果屏幕寬度大于1300像素,則6張圖片并排在一行。

如果屏幕寬度在600像素到1300像素之間坎炼,則6張圖片分成兩行愧膀。

如果屏幕寬度在400像素到600像素之間,則導(dǎo)航欄移到網(wǎng)頁頭部谣光。

如果屏幕寬度在400像素以下檩淋,則6張圖片分成三行。

mediaqueri.es上面有更多這樣的例子萄金。

2.允許網(wǎng)頁寬度自動調(diào)整

首先狼钮,在網(wǎng)頁代碼的頭部,加入一行viewport元標簽捡絮。

<meta name="viewport" content="width=device-width, ?initial-scale=1" />

viewport是網(wǎng)頁默認的寬度和高度,上面這行代碼的意思是莲镣,網(wǎng)頁寬度默認等于屏幕寬度(width=device-width)福稳,原始縮放比例(initial-scale=1)為1.0,即網(wǎng)頁初始大小占屏幕面積的100%瑞侮。

<!--if lt IE 9]>

? ? ? ?<script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"><script>

? ? ? ? <script src="https://oss.maxcdn.com/libs/respond.js/1.3.0/respond.js"><script>

<![endif]-->

所有主流瀏覽器都支持這個設(shè)置的圆,包括IE9。對于那些老式瀏覽器(主要是IE6半火、7越妈、8),需要使用css3-mediaqueries.js钮糖。

3梅掠、不使用絕對寬度

由于網(wǎng)頁會根據(jù)屏幕寬度調(diào)整布局,所以不能使用絕對寬度的布局店归,也不能使用具有絕對寬度的元素阎抒。這一條非常重要。

具體說消痛,CSS代碼不能指定像素寬度:

  width:xxx px;

只能指定百分比寬度:

  width: xx%; ? ? ? 或者 ? ?  width:auto;

4.base.css公共樣式pc端

body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {?margin:0;padding:0;border: 0;}

ol,li,ul,dl,dt,dd{list-style:none;}

table{border-collapse:collapse;border-spacing:0}

h1,h2,h3,h4,h5,h6,i,strong {font-weight: normal;}

img {vertical-align: middle;border: none;width: 100%;}

i {font: inherit;}

a {color: #fff;text-decoration: none;-webkit-tap-highlight-color: rgba(0, 0, 0, 0); background-color:transparent;}

a:hover {text-decoration: underline; outline: none;}

select::-ms-expand { display: none; }

a:active,a:hover{outline:0}

.clearfix::before,

.clearfix::after{

content: '';

display: block;

height: 0;

line-height: 0;

visibility: hidden;

clear: both;

}

.fl{?float:left;}

.fr{float:right;}

input,select,option{vertical-align:middle;border-radius:0px;-moz-appearance:none;-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);outline: none;}

input[type="text"],input[type="button"],input[type="submit"],input[type="reset"]{-webkit-appearance: none;appearance: none;border-radius: 0;outline: none;}

.overflow {overflow:hidden; }

base.css公共樣式移動端

body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {?margin:0;padding:0}

ol,li,ul,dl,dt,dd{list-style:none;}

.fl {float: left;}

.fr {float: right;}

table{border-collapse:collapse;border-spacing:0}

html { ?

? ? -webkit-text-size-adjust: 100%; ?

? ? -ms-text-size-adjust: 100%; ?

? ? /* 解決IOS默認滑動很卡的情況 */ ?

? ? -webkit-overflow-scrolling : touch; ?

} ?

/* 禁止縮放表單 */ ?

input[type="submit"], input[type="reset"], input[type="button"], input { ?

? ? resize: none; ?

? ? border: none; ?

} ?

/* 取消鏈接高亮 ?*/ ?

body, div, ul, li, ol, h1, h2, h3, h4, h5, h6, input, textarea, select, p, dl, dt, dd, a, img, button, form, table, th, tr, td, tbody, article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { ?

? ? -webkit-tap-highlight-color: rgba(0, 0, 0, 0); ?

} ?

/* 設(shè)置HTML5元素為塊 */ ?

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section { ?

? ? display: block; ?

} ?

/* 圖片自適應(yīng) */ ?

img { ?

? ? width: 100%; ?

? ? height: auto; ?

? ? width: auto\9; /* ie8 */ ?

? ? -ms-interpolation-mode: bicubic;/*為了照顧ie圖片縮放失真*/ ?

} ?

em, i { ?

? ? font-style: normal; ?

} ?

textarea { ?

? ? resize:none; /*禁用了文本的拖拉且叁,尤其在谷歌下*/ ?

} ??

p { ?

? ? word-wrap:break-word; /* 不夠的單詞自動換行 而不會被截掉 */ ?

} ?

.clearfix:after { ?

? ? content: ""; ?

? ? display: block; ?

? ? visibility: hidden; ?

? ? height: 0; ?

? ? clear: both; ?

} ?

.clearfix { ?

? ? zoom: 1; ?

} ?

a { ?

? ? text-decoration: none; ?

? ? color: #fff; ?

? ? font-family: 'Microsoft YaHei', Tahoma, Arial, sans-serif; ?

} ?

a:hover { ?

? ? text-decoration: none; ?outline: none;

} ?

h1, h2, h3, h4, h5, h6 { ?

? ? font-size: 100%; ?

? ? font-family: 'Microsoft YaHei'; ?

} ?

img { ?

? ? border: none; ?

} ?

input{ ?

? ? font-family: 'Microsoft YaHei'; ?

} ?

/*單行溢出*/ ?

.one-txt-cut{ ?

? ? overflow: hidden; ?

? ? white-space: nowrap; ?

? ? text-overflow: ellipsis; ?

} ?

/*多行溢出 手機端使用*/ ?

.txt-cut{ ?

? ? overflow : hidden; ?

? ? text-overflow: ellipsis; ?

? ? display: -webkit-box; ?

? ? /* -webkit-line-clamp: 2; */ ?

? ? -webkit-box-orient: vertical; ?

} ?

/* 移動端點擊a鏈接出現(xiàn)藍色背景問題解決 */ ?

a:link,a:active,a:visited,a:hover { ?

? ? background: none; ?

? ? -webkit-tap-highlight-color: rgba(0,0,0,0); ?

? ? -webkit-tap-highlight-color: transparent; ?

} ?

.overflow {overflow:hidden; }

.w50{ ?

? ? width: 50%; ?

} ?

.w25{ ?

? ? width: 25%; ?

} ?

.w20{ ?

? ? width: 20%; ?

} ?

.w33{ ?

? ? width: 33.333333%; ?

}

4. CSS的@media規(guī)則

同一個CSS文件中,也可以根據(jù)不同的屏幕分辨率秩伞,選擇應(yīng)用不同的CSS規(guī)則逞带。?

@media screen and (max-device-width: 400px) {?

.column {?

float: none;?

width:auto;?

}?

#sidebar {?

display:none;?

}?

}?

上面的代碼意思是,如果屏幕寬度小于400像素纱新,則column塊取消浮動(float:none)展氓、寬度自動調(diào)節(jié)(width:auto),sidebar塊不顯示(display:none)怒炸。

5.移動端自適應(yīng)高度和寬度

???? 移動端的相對要簡單些带饱,首先,在網(wǎng)頁代碼的頭部,加入一行viewport標簽勺疼。

? <meta name="viewport" content="width=device-width,initial-scale=1" />

???? viewport是網(wǎng)頁默認的寬度和高度教寂,上面的意思表示,網(wǎng)頁的寬度默認等于設(shè)備屏幕的寬度执庐,原始縮放比例為1酪耕,即網(wǎng)頁初始大小占屏幕面積的100%。

1:由于網(wǎng)頁會根據(jù)屏幕寬度調(diào)整布局轨淌,所以不能使用絕對寬度的布局迂烁,也不能使用具有絕對寬度的元素。這一條非常重要递鹉。具體說盟步,CSS代碼不能指定像素寬度:width:xxx?px;只能指定百分比寬度:width:?xx%;或者width:auto;

2:一般使用em,盡量少使用px字體

3:使用流動布局

4:自適應(yīng)網(wǎng)頁設(shè)計”的核心,就是CSS3引入的media query模塊躏结。下載地址:http://download.csdn.net/download/song_121292057/8031781

??? 自動探測屏幕寬度却盘,然后加載相應(yīng)的CSS文件。

-------當屏幕小于400時媳拴,就加載style.css這個文件

?5:除了用html標簽加載CSS文件黄橘,還可以在現(xiàn)有CSS文件中加載。

? @import?url("style2.css")?screen?and?(max-device-width: 800px);//當小于800px屏幕時屈溉,就加載style2.css文件

6:圖片的自動縮放塞关,比較簡單。只要一行CSS代碼:img{?max-width:?100%;}建議根據(jù)不同的屏幕分辨率子巾,加載不同大小像素的圖片帆赢。

?著作權(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)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案脂男? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽?zāi)J的外補...
    _Yfling閱讀 13,756評論 1 92
  • 第一部分 HTML&CSS整理答案 1. 什么是HTML5? 答:HTML5是最新的HTML標準种呐。 注意:講述HT...
    kismetajun閱讀 27,513評論 1 45
  • 雖然這是一個“講文明爽室、樹新風”的時代汁讼,但讓人看不懂的是,一夜之間阔墩,就連“嘿嘿嘿”這種簡單地語氣詞竟突然也變成了千夫...
    妙計旅行閱讀 767評論 0 49
  • 第1章 好消息掉缺? 2017年2月12日,美國紐約戈擒,早上八點整眶明。 一陣悠揚的小提琴音樂聲準時響起。 是董青青的手機鬧...
    蘇菲的后花園閱讀 560評論 0 0
  • 本文由玄學翻譯社企劃制作筐高!歡迎關(guān)注搜囱。 企劃:宋雅文丑瞧、楊雍;翻譯:滿月蜀肘、王蛇無毒绊汹、Thest、一個兔角鹿扮宠、風語時西乖;校...
    奶牛關(guān)游戲社區(qū)閱讀 65,633評論 1 16