ååºå¼è®¾è®¡
æ©å¹´è®¾è®¡ Web æ¶ï¼é¡µé¢æ¯ä»¥éé ç¹å®çå±å¹å¤§å°ä¸ºèéå建çãå¦æç¨æ·æ£å¨ä½¿ç¨æ¯è®¾è®¡è èèå°çæ´å°æè æ´å¤§çå±å¹ï¼é£ä¹ç»æä»å¤ä½çæ»å¨æ¡ï¼å°è¿é¿çè¡å没æè¢«åçå©ç¨ç空é´ï¼ä¸ä¸èè¶³ãéç人们使ç¨çå±å¹å°ºå¯¸çç§ç±»è¶æ¥è¶å¤ï¼åºç°äºååºå¼ç½é¡µè®¾è®¡çæ¦å¿µï¼responsive web designï¼RWDï¼ï¼RWD æçæ¯å 许 Web 页é¢éåºä¸åå±å¹å®½åº¦å ç´ çï¼è¿è¡å¸å±åå¤è§çè°æ´çä¸ç³»åå®è·µãè¿æ¯æ¹åæä»¬è®¾è®¡å¤è®¾å¤ç½é¡µçæ¹å¼çææ³ï¼å¨è¿ç¯æç« éï¼æä»¬å°ä¼å¸®ä½ çè§£ææ¡å®æ¶æéç¥éçä¸»è¦æè½ã
| å¦ä¹ åæï¼ | HTML åºç¡ï¼å¦ä¹ Introduction to HTMLï¼ï¼ä»¥å对 CSS 工使¹å¼ççè§£ï¼å¦ä¹ CSS first stepsåCSS building blocksï¼ |
|---|---|
| ç®æ ï¼ | çè§£ååºå¼è®¾è®¡çåºç¡æ¦å¿µä»¥ååå² |
åå²ä¸çç½ç«å¸å±
å¨åå²ä¸çæä¸ªæ¶å»ï¼è®¾è®¡ç½ç«æ¶ï¼ä½ æä¸¤ä¸ªéæ©ï¼
- ä½ å¯ä»¥å建ä¸ä¸ªâæ¶²æâç«ç¹ï¼å®ä¼æä¼¸ä»¥å 满æ´ä¸ªæµè§å¨è§çªï¼
- æè æ¯ä¸ä¸ªâåºå®å®½åº¦âç«ç¹ï¼å®æä¸ä¸ªä»¥åç´ è®¡çåºå®å°ºå¯¸ã
è¿ä¸¤ç§éå¾ä¼å¾åäºå¯¼è´å®ç表ç°åªæå¨è®¾è®¡è çå±å¹ä¸ææ¯æä½³çï¼æ¶²æç«ç¹å¯¼è´äºå°å±å¹ä¸çè®¾è®¡ä¼æ¤æä¸å¢ï¼å¦ä¸æç¤ºï¼ï¼ä»¥å大å±å¹ä¸é¾ä»¥é 读çå¾é¿çè¡é¿åº¦ã

夿³¨ï¼çä¸ä¸è¿ä¸ªç®åçæµå¼å¸å±ï¼ç¤ºä¾ï¼æºä»£ç ã彿¥çç¤ºä¾æ¶ï¼æ¥åææ½ä½ çæµè§å¨çªå£ï¼æ¹åå ¶å¤§å°ï¼çä¸ä¸å尺寸ä¸çæ¾ç¤ºæ åµã
åºå®å®½åº¦ç«ç¹çä¸ä¸ªå¯è½çåææ¯ï¼å¨æ¯ç«ç¹æ´çªçå±å¹ä¸ä¼åºç°ä¸ä¸ªæ°´å¹³æ»å¨æ¡ï¼å¦ä¸æç¤ºï¼ï¼å¨å¤§å±å¹ä¸ç设计边ç¼è¿ä¼æè®¸å¤ç©ºç½ã

夿³¨ï¼çä¸è¿ä¸ªç®åçåºå®å®½åº¦å¸å±ï¼ç¤ºä¾ï¼æºä»£ç ï¼éæ°è§å¯ä¸ä¸ä½ è°æ´æµè§å¨çªå£å¤§å°åçç»æã
夿³¨ï¼ä¸é¢çæªå±æ¯å¨ç«çå¼åè å·¥å ·çååºå¼è®¾è®¡æ¨¡å¼ä¸æªåçã
éçç§»å¨ Web 卿©æçåè½ææºä¸å¼å§æä¸ºç°å®ï¼å¸ææ¥æ±ç§»å¨ç«¯çå ¬å¸æ®éå¸æä¸ºä»ä»¬çç½ç«å建ä¸ä¸ªæçä¸åçç½åçç§»å¨çæ¬ï¼å¤§å¤æ¯åm.example.comæè example.mobiè¿ç±»ï¼ãè¿æå³çä¸ä¸ªç½ç«éè¦å¼å两个åå¼ççæ¬ï¼èä¸è¦ä¿ææ¶ææ§ã
餿¤ä»¥å¤ï¼è¿äºç§»å¨ç½ç«çä½éªç»å¸¸ç¼©æ°´ãç±äºç§»å¨è®¾å¤å徿´å 强大ï¼è¶³ä»¥æ¾ç¤ºå®æ´çç½ç«ï¼å¯¹äºé£äºè¢«å°å¨ç§»å¨çç½ç«çç§»å¨ç«¯ç¨æ·æ¥è¯´ï¼è¿æ¯å¾æç£¨äººçï¼ä»ä»¬å æ¤ä¹æ²¡æ³è·åä»ä»¬ç¥é卿¯æææåè½çæ¡é¢çç½ç«ä¸è½æ¾å°çä¿¡æ¯ã
ååºå¼è®¾è®¡ä¹åççµæ´»å¸å±
人们å¼åäºè®¸å¤æ¹å¼ï¼å°½åè§£å³å»ºè®¾ç½ç«æ¶ä½¿ç¨æ¶²æååºå®å®½åº¦çæ¹å¼æå¸¦æ¥çå¼ç«¯ã2004 å¹´ï¼Cameron Adams åäºä¸ç¯é¢ä¸ºãResolution dependent layoutãçå¸åï¼æè¿°äºä¸ç§å¯ä»¥åé éåºå¤ç§å±å¹å辨ççè®¾è®¡çæ¹å¼ãè¿ç§æ¹å¼éè¦ JavaScript æ¥æ¢æµå±å¹çå辨çï¼è½½å ¥æ°å½ç CSSã
Zoe Mickley Gillenwater æ·±å»å½±åäºå¥¹çèä½ï¼å¨éé¢æè¿°å¹¶æ ååäºå¯åç«ç¹å»ºç«çä¸åæ¹å¼ï¼è¯å¾å¨å 满å±å¹åå®å ¨ä¿æåºå®å°ºå¯¸ä¹é´æ¾å°æä½³å¹³è¡¡ã
ååºå¼è®¾è®¡
âååºå¼è®¾è®¡âè¿ä¸ªè¯æ¯Ethan Marcotte å¨ 2010 å¹´é¦åº¦æåºçï¼ä»å°å ¶æè¿°ä¸ºä¸ç§ææ¯çæ··å使ç¨ã
- 第ä¸ä¸ªæ¯æ¶²æç½æ ¼ï¼è¿æ©å å·²ç± Gillenwater è¿è¡æ¢è®¨ï¼å¯ä»¥å¨ Marcotte çæç« ãFluid Gridsãï¼åºçäº 2009 å¹´çãA List Apartãä¸ï¼ä¸è¯»å°ã
- 第äºä¸ªæ¯æ¶²æå¾åçç念ãéè¿ä½¿ç¨ç¸å½ç®åçå°è®¾ç½®
max-width屿§è®¾ç½®ä¸º100%çææ¯ï¼å¾åå¯ä»¥å¨å å«å®ä»¬çåå徿¯å¾ååå§å°ºå¯¸çªçæ¶åï¼ç¼©æ¾å¾æ´å°ï¼ä½æ»ä¸ä¼å徿´å¤§ãè¿ä½¿å¾å¾åå¯ä»¥è¢«ç¼©æ¾ï¼ä»¥è¢«æ¾å°ä¸ä¸ªçµæ´»å°ºå¯¸çåï¼è䏿¯æº¢åºåºå»ï¼åæ¶ä¹ä¸ä¼å¨å宽äºå¾åçæ¶åï¼ä½¿å¾ååå¾å¤ªå¤§ä»¥è³äºç»è´¨åå¾ç²ç³ã - 第ä¸ä¸ªå ³é®çç»ä»¶æ¯åªä½æ¥è¯¢ãåªä½æ¥è¯¢ä½¿ä»¥å¾ Cameron Adams æ¢è®¨è¿çãç± JavaScript å®ç°çå¸å±ç±»å忢ï¼å¯ä»¥åªä½¿ç¨ CSS å®ç°ãåææå°ºå¯¸çå±å¹é½ä½¿ç¨ä¸ç§å¸å±ä¸åçæ¯ï¼å¸å±æ¯å¯ä»¥æ¹åçï¼ä¾§æ å¯ä»¥å¨å°å±å¹ä¸éæ°å¸å±ï¼èæ¿ä»£ç¨çå¯¼èªæ ä¹å¯ä»¥æ¾ç¤ºåºæ¥ã
éè¦ä½ çè§£çå¾éè¦çä¸ç¹æ¯ååºå¼ Web è®¾è®¡ä¸æ¯åç¬çææ¯ï¼å®æ¯æè¿° Web 设计çä¸ç§æ¹å¼ãæè æ¯ä¸ç»æä½³å®è·µçä¸ä¸ªè¯ï¼å®æ¯ç¨æ¥å»ºç«å¯ä»¥ååºæ¥çå 容ç设å¤çæ ·å¼çä¸ä¸ªè¯ãå¨ Marcotte's åæ¥çæ¢ç´¢ä¸ï¼è¿æå³ççµæ´»ç½æ ¼ï¼ä½¿ç¨ floatï¼ååªä½æ¥è¯¢ï¼ä½æ¯å¨è¿ç¯æç« åå°±çå ä¹å年以åï¼Web çååºå¼å·¥ä½å·²ç»æä¸ºäºé»è®¤åæ³ãç°ä»£ç CSS å¸å±æ¹å¼åºæ¬ä¸å°±æ¯ååºå¼çï¼èä¸æä»¬å¨ Web å¹³å°ä¸å ç½®äºæ°çä¸è¥¿ï¼ä½¿å¾è®¾è®¡ååºå¼ç«ç¹åå¾å®¹æã
è¿ç¯æç« çä½ä¸é¨åä¼ä¸ºä½ æåºï¼å¨å»ºç«ååºå¼ç«ç¹çæ¶åï¼ä½ å¯è½ä¼ç¨å°çåå¼ Web å¹³å°çç¹è²åè½ã
åªä»æ¥è¯¢
ååºå¼è®¾è®¡ä» ä» æ¯å 为åªä»æ¥è¯¢ææ°å ´èµ·æ¥çãåªä»æ¥è¯¢ç¬¬ä¸çº§è§èå·²ç»å¨ 2009 å¹´æä¸ºäºå鿍èï¼è¿æå³çå®å¯è§ä¸ºåå¤å¥½å¨æµè§å¨ä¸å¼å§æ¯æäºãåªä»æ¥è¯¢å 许æä»¬è¿è¡ä¸ç³»åæµè¯ï¼ä¾å¦ç¨æ·çå±å¹æ¯å¦å¤§äºæä¸ªå®½åº¦æè æä¸ªå辨çï¼å¹¶å° CSS éæ©æ§å°éåºç¨æ·çéè¦åºç¨å¨æ ·å¼å页é¢ä¸ã
ä¾å¦ï¼ä¸é¢çåªä½æ¥è¯¢è¿è¡æµè¯ï¼ä»¥ç¥æå½åç Web 页颿¯å¦è¢«å±ç¤ºä¸ºå±å¹åªä½ï¼ä¹å°±æ¯è¯´ä¸æ¯å°å·ææ¡£ï¼ï¼ä¸è§å£è³å°æ 800 åç´ å®½ãç¨äº.containeréæ©å¨ç CSS å°åªä¼å¨è¿ä¸¤ä»¶åæåå¨çæ
åµä¸åºç¨ã
@media screen and (min-width: 800px) {
.container {
margin: 1em 2em;
}
}
ä½ å¯ä»¥å¨ä¸å¼ æ ·å¼è¡¨ä¸å å ¥å¤æ¡åªä½æ¥è¯¢ï¼è°æ´æ´ä¸ªé¡µé¢æè é¨å页é¢ä»¥è¾¾å°éåºåå¼å±å¹å°ºå¯¸çæä½³ææãåªä½æ¥è¯¢ï¼ä»¥åæ ·å¼æ¹åæ¶çç¹ï¼è¢«å«åæç¹ï¼breakpointsï¼ã
使ç¨åªä½æ¥è¯¢æ¶çä¸ç§éç¨æ¹å¼æ¯ï¼ä¸ºçªå±è®¾å¤ï¼ä¾å¦ç§»å¨è®¾å¤ï¼å建ä¸ä¸ªç®åçåæ å¸å±ï¼ç¶åæ£æ¥æ¯å¦æ¯å¤§äºçå±å¹ï¼å¨ä½ ç¥éä½ æè¶³å¤å®¹çº³çå±å¹å®½åº¦çæ¶åï¼å¼å§éç¨ä¸ç§å¤æ çå¸å±ãè¿ç»å¸¸è¢«æè¿°ä¸ºç§»å¨ä¼å 设计ã
å¨ MDN ææ¡£ä¸çåªä½æ¥è¯¢ä¸äºè§£æ´å¤
çµæ´»ç½æ ¼
ååºå¼ç«ç¹ä¸åªæ¯å¨æç¹ä¹é´æ¹åå®ä»¬çå¸å±ï¼å®ä»¬æ¯å»ºç«å¨çµæ´»ç½æ ¼ä¸çãä¸ä¸ªçµæ´»ç½æ ¼æå³çä½ ä¸éè¦éé æ¯ä¸ªå¯è½ä½¿ç¨ç设å¤å°ºå¯¸ï¼ç¶åä¸ºå ¶å»ºç«ä¸ä¸ªç²¾ç¡®å°åç´ çº§çéé å¸å±ãé£ç§æ¹å¼å¨ç°åæå¦æ¤å¤ç§ä¸å大å°è®¾å¤çåæä¸æ¯ä¸å¯è½å®ç°çï¼æ¯å¦è³å°å¨å°å¼æºä¸ï¼äººä»¬å¹¶ä¸æ»æ¯è®©ä»ä»¬çæµè§å¨çªå£æå¤§åçã
使ç¨çµæ´»ç½æ ¼ï¼ä½ åªéè¦å è¿å»ä¸ä¸ªæç¹ï¼å¨å 容çèµ·æ¥ä¸é½æ´çæ¶åæ¹å设计ãä¾å¦å¦æä¸è¡éçå±å¹å¤§å°å¢å èå¢é¿å¾ä¸å¯è¯»çé¿ï¼æè æ¯ä¸ä¸ªçåå¨åçªæ¶ææ¯è¡ç两个åè¯æ¤å°ä¸èµ·ã
æ©å¹´é´è¿è¡ååºå¼è®¾è®¡çæ¶åï¼æä»¬å¯ä¸çå®ç°å¸å±çé项æ¯ä½¿ç¨floatãçµæ´»æµ®å¨å¸å±æ¯è¿æ ·å®ç°çï¼è®©æ¯ä¸ªå ç´ é½æä¸ä¸ªä½ä¸ºå®½åº¦çç¾åæ°ï¼èä¸ç¡®ä¿æ´ä¸ªå¸å±çåä¸ä¼è¶ è¿ 100%ãå¨ä»å¯¹äºæ¶²æç½æ ¼æç« çåæä¸ï¼Marcotte è¯¦ç»æè¿°äºä¸ç§å¸å±çæ³åï¼éè¿ä½¿ç¨åç´ å¹¶æå¸å±è½¬å为ç¾åæ°çæ¹å¼è®¾è®¡ã
target / context = result
ä¾å¦å¦ææä»¬ç颿æ 尺寸为 60 åç´ ï¼èä¸å®æå¨çä¸ä¸æï¼æè 容å¨ï¼ä¸º 960 åç´ ï¼æä»¬å¨å°é¶ç¹äºç空é´ç§»å¨å°å³è¾¹ä»¥åï¼ç¨ 960 å»é¤ 60ï¼å¾å°æä»¬è½å¤ä½¿ç¨å¨æä»¬ç CSS ä¸çå¼ã
.col {
width: 6.25%; /* 60 / 960 = 0.0625 */
}
è¿ç§æ¹å¼å°ä¼å¨ä»å¤©æ´ä¸ª Web ä¸ç许å¤å°æ¹ä¸çå°ï¼èä¸å®è¢«æä»¬çLegacy layout methods䏿ä¸çå¸å±ä¸èä¸è®°è½½ãå¯è½ä½ å°ä¼å¨å·¥ä½ä¸éå°ä½¿ç¨è¿ç§æ¹å¼çç«ç¹ï¼æä»¥æå¿ è¦çè§£å®ï¼å³ä½¿æ¯å¨ä½ ä¸ç¨å»ºç«ä¸ä¸ªä½¿ç¨æµ®å¨åºç¡ççµæ´»ç½æ ¼çæ åµä¸ã
ä¸é¢çä¾åééäºä¸ä¸ªä½¿ç¨åªä½æ¥è¯¢åçµæ´»ç½æ ¼çç®åååºå¼è®¾è®¡ãå¨çªå±å¹ä¸ï¼å¸å±å°çåå å å¨å¦ä¸ä¸ªçä¸é¢ï¼

å¨å®½äºçå±å¹ä¸ï¼å®ä»¬åæäºä¸¤åï¼

夿³¨ï¼ä½ å¯ä»¥å¨ GitHub 䏿¾å°æ¤ç¤ºä¾ç宿¶ç¤ºä¾åæºä»£ç ã
ç°ä»£å¸å±ææ¯
ç°ä»£å¸å±æ¹å¼ï¼ä¾å¦å¤æ å¸å±ã伸缩çåç½æ ¼é»è®¤æ¯ååºå¼çãå®ä»¬é½åè®¾ä½ å¨å°½åå建ä¸ä¸ªå¯ä¼¸ç¼©ç½æ ¼ï¼èä¸ç»äºä½ æ´å®¹æè¿æ ·åçæ¹å¼ã
å¤ä¸ªå
è¿äºå¸å±æ¹å¼ä¸æèçä¸ä¸ªæ¯å¤ä¸ªåï¼å³å½ä½ æå®ä¸ä¸ªcolumn-countçæ¶åï¼è¿ææä½ 叿æä½ çå
容åæå¤å°åãæµè§å¨ä¹åä¼ç®åºè¿äºåç大å°ï¼è¿æ¯ä¸ä¸ªéçå±å¹å°ºå¯¸ååç尺寸ã
.container {
column-count: 3;
}
å¦æä½ å´å»æå®column-widthçè¯ï¼ä½ æ¯å¨æå®ä¸ä¸ªæå°å®½åº¦ãæµè§å¨ä¼å°½å¯è½å¤æ°éå°å建è¿ä¸å®½åº¦çåï¼åªè¦å®ä»¬å¯ä»¥æ°å½å°æ¾è¿å®¹å¨éé¢ï¼ç¶åå°ææåä¹é´çå©ä½ç©ºé´å
±äº«åºå»ãå èåçæ°éä¼éç空é´çå¤å°èæ¹åã
.container {
column-width: 10em;
}
伸缩ç
å¨ä¼¸ç¼©çä¸ï¼åå§çè¡ä¸ºæ¯ï¼å¼¹æ§çç©ä»¶å°åç
§å®¹å¨éé¢ç空é´ç大å°ï¼ç¼©å°ååå¸ç©ä»¶ä¹é´ç空é´ãéè¿æ´æ¹flex-growå flex-shrinkçå¼ï¼ä½ å¯ä»¥æç¤ºå¨ç©ä»¶éå°å¨å´ææ´å¤æè
æ´å°ç空é´çæ
åµä¸ï¼ä½ æææçç©ä»¶è¡¨ç°ã
å¨ä¸é¢ç示ä¾ä¸ï¼åå¸å±ä¸é¢çå¼¹æ§çåï¼å¼¹æ§å
ç´ çå¨æå°ºå¯¸ä¸ææè¿°ç飿 ·ï¼ä½¿ç¨äºflex: 1çç®åï¼å¯ä¼¸ç¼©ç©ä»¶æ¯ä¸ªå°ä¼å æ®ä¸ä»½å¯ä¼¸ç¼©å®¹å¨ä¸ç¸ç大å°ç空é´ã
.container {
display: flex;
}
.item {
flex: 1;
}
CSS ç½æ ¼
å¨ CSS ç½æ ¼å¸å±ä¸ï¼fråä½è®¸å¯äºè·¨ç½æ ¼è½¨éå¯ç¨ç©ºé´çåå¸ãä¸é¢ç示ä¾å建äºä¸ä¸ªæç 3 个大å°ä¸º1frç轨éçç½æ ¼å®¹å¨ãè¿ä¼å建ä¸ä¸ªå轨éï¼æ¯ä¸ªå æ®äºå®¹å¨ä¸å¯ç¨ç©ºé´çä¸é¨åãä½ å¯ä»¥å¨ä½¿ç¨ fr åä½ççµæ´»ç½æ ¼ä¸çå¦ä¹ å¸å±ç½æ ¼ä¸é¢äºè§£æ´å¤åè¿ä¸æ¹å¼ç¸å
³çä¿¡æ¯ã
.container {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
}
ååºå¼å¾å
æç®åçå¤çååºå¼å¾åçæ¹å¼æ¯å¨ Marcotte çæ©å¹´çå ³äºååºå¼è®¾è®¡çæç« 䏿æè¿°ç飿 ·ãåºæ¬æ¥è¯´ï¼ä½ å¯ä»¥ç¨ä¸å¼ æçæéæå¤§å°ºå¯¸çå¾åãç¶å缩æ¾å®ãè¿ä»ç¶æ¯ä»æ¥æä½¿ç¨çä¸ç§æ¹å¼ï¼èä¸å¨å¤§å¤æ°æ ·å¼è¡¨éé¢ï¼ä½ 卿äºå°æ¹å¯ä»¥æ¾å°ä¸é¢ç CSSï¼
img {
max-width: 100%;
}
è¿ç§æ¹å¼ææ¾ç¶çå¼ç«¯ãå¾åæå¯è½ä¼æ¾ç¤ºå¾æ¯å®çåå§å°ºå¯¸å°å¾å¤ï¼ä»¥è³äºæµªè´¹å¸¦å®½ââä¸ä¸ªç§»å¨ç«¯ç¨æ·ä¼ä¸è½½å åäºä»ä»¬å¨æµè§å¨çªå£ä¸å®é çå°ç大å°çå¾åãæ¤å¤ï¼ä½ å¯è½ä¸æ³å¨ç§»å¨ç«¯åæ¡é¢ç«¯æç¸åçå¾å宽髿¯ä¾ãä¾å¦ï¼å¨ç§»å¨ç«¯ï¼æ¹å½¢å¾åç表ç°ä¼å¾å¥½ï¼ä½æ¯å¨æ¡é¢ç«¯æ¾ç¤ºåæ ·çå 容ååºç¨å®½å¾åãæè ï¼è®¤è¯å°ç§»å¨ç«¯æ´å°å°ºå¯¸çå¾åçä½ ä¹è®¸ä¼å¸æåæ¶å±ç¤ºä¸å¼ ä¸åçå¾åï¼ä¸å¼ å¨å°ä¸ç¹çå±å¹ä¸æ´å®¹æçè§£çå¾åãè¿äºä¸è¥¿ä¸è½ç®åéè¿ç¼©æ¾å¾åè§£å³ã
ååºå¼å¾åï¼ä½¿ç¨äº<picture>å
ç´ å<img> srcsetåsizes ç¹æ§ï¼è§£å³äºè¿ä¸¤ä¸ªé®é¢ãä½ å¯ä»¥æä¾é带çâæç¤ºâï¼æè¿°å¾åæéåçå±å¹å°ºå¯¸åå辨ççå
æ°æ®ï¼çå¤ç§å°ºå¯¸ï¼æµè§å¨å°ä¼éæ©å¯¹è®¾å¤æåéçå¾åï¼ä»¥ç¡®ä¿ç¨æ·ä¸è½½å°ºå¯¸éåä»ä»¬ä½¿ç¨ç设å¤çå¾åã
ä½ ä¹å¯ä»¥ç»ç¨äºä¸å尺寸çå¾ååâèºæ¯æå¯¼âï¼ä¸ºä¸åçå±å¹å°ºå¯¸æä¾ä¸åçå¾åè£åæè å®å ¨ä¸åçå¾åã
ä½ å¯ä»¥å¨ MDN è¿éçå¦ä¹ HTML ä¸è䏿¾å°è¯¦ç»çååºå¼å¾åæåã
ååºå¼æç
卿©æç工使²¡æèèçä¸ä¸ªååºå¼è®¾è®¡çå ç´ æ¯ååºå¼æçççå¿µãæ¬è´¨ä¸è®²ï¼è¿æè¿°äºæ ¹æ®å±å¹çå®ä½¿ç¨èå´çå¤å°ï¼å¨åªä½æ¥è¯¢çåæ¶æ¹ååä½å¤§å°ã
卿¬ä¾åä¸ï¼æä»¬æ³è®²æä»¬çä¸çº§æ é¢è®¾ç½®ä¸º4remï¼ä¹å°±æ¯è¯´å®å°ä¼ææä»¬çåºç¡åä½çåå大ãè¿ççæ¯ä¸ªå¾å¤§çæ é¢ï¼æä»¬åªæ³å¨å¤§äºçå±å¹ä¸æè¿ä¹ä¸ªè¶
å¤§çæ é¢ï¼é£æä»¬å
å¼ä¸ªå°ç¹çæ é¢ï¼å使ç¨åªä½æ¥è¯¢ï¼å¨æä»¬ç¥éç¨æ·ä½¿ç¨è³å°1200pxçå±å¹çæ¶åï¼æ¿å¤§äºç尺寸è¦åå®ã
html {
font-size: 1em;
}
h1 {
font-size: 2rem;
}
@media (min-width: 1200px) {
h1 {
font-size: 4rem;
}
}
æä»¬å·²ç»ç¼è¾äºæä»¬å¨ä¸é¢çååºå¼ç½æ ¼ç¤ºä¾ï¼è®©å®åæ¶å å«äºä½¿ç¨äºååºæ¹å¼çååºå¼ç±»åãä½ ä¹å¯ä»¥çä¸éçå¸å±å为两æ ï¼æ 颿¯ææ ·è½¬æ¢å¤§å°çã
ç§»å¨ç«¯ï¼æ é¢åå°äºï¼

ä½å¨æ¡é¢ç«¯ï¼æä»¬çå°äºå¤§ç¹çæ é¢ï¼

æ£å¦è¿ç§æçæ¹å¼å±ç¤ºçè¿æ ·ï¼ä½ ä¸éè¦è®©åªä»æ¥è¯¢åªè½æ¹å页é¢çå¸å±ãå®ä»¬ä¹è½ç¨æ¥è°èæ¯ä¸ªå ç´ ï¼è®©å®ä»¬å¨å«ç大å°çå±å¹ä¸æ´å å¯ç¨æè æ´å ·å¸å¼åã
使ç¨è§å£åä½å®ç°ååºå¼æç
ä¸ä¸ªæè¶£çæ¹å¼æ¯ä½¿ç¨è§å£åä½vwæ¥å®ç°ååºå¼æçã1vwçåäºè§å£å®½åº¦çç¾åä¹ä¸ï¼å³å¦æä½ ç¨vwæ¥è®¾å®åä½å¤§å°çè¯ï¼åä½ç大å°å°æ»æ¯éè§å£ç大å°è¿è¡æ¹åã
h1 {
font-size: 6vw;
}
é®é¢å¨äºï¼å½åä¸é¢çäºæ
çæ¶åï¼å ä¸ºææ¬æ»æ¯éçè§å£ç大尿¹å大å°ï¼ç¨æ·å¤±å»äºæ¾ç¼©ä»»ä½ä½¿ç¨vwåä½çææ¬çè½åãæä»¥ä½ æ°¸è¿é½ä¸è¦åªç¨ viewport åä½è®¾å®ææ¬ã
è¿éæä¸ä¸ªè§£å³æ¹æ³ï¼å®ä½¿ç¨äºcalc()ï¼å¦æä½ å°vwåä½å å°äºä½¿ç¨åºå®å¤§å°ï¼ä¾å¦emæè
remï¼çå¼ç»ï¼é£ä¹ææ¬ä»ç¶æ¯å¯æ¾ç¼©çãåºæ¬æ¥è¯´ï¼æ¯vwå å¨äºæ¾ç¼©åçå¼ä¸ã
h1 {
font-size: calc(1.5rem + 3vw);
}
è¿å°±æ¯è¯´ï¼æä»¬åªéè¦æå®æ é¢çåä½å¤§å°ä¸æ¬¡ï¼è䏿¯ä¸ºç§»å¨ç«¯è®¾å®å®ï¼ç¶ååå¨åªä»æ¥è¯¢ä¸éæ°å®ä¹å®ãåä½ä¼å¨ä½ å¢å è§å£å¤§å°çæ¶å鿏å¢å¤§ã
è§å£å æ ç¾
å¦æä½ ççä¸å¼ ååºå¼é¡µé¢ç HTML æºä»£ç ï¼ä½ é常å°ä¼å¨ææ¡£ç<head>çå°ä¸é¢ç<meta>æ ç¾ã
<meta name="viewport" content="width=device-width,initial-scale=1" />
è¿ä¸ªå æ ç¾åè¯ç§»å¨ç«¯æµè§å¨ï¼å®ä»¬åºè¯¥å°è§å£å®½åº¦è®¾å®ä¸ºè®¾å¤ç宽度ï¼å°ææ¡£æ¾å¤§å°å ¶é¢æå¤§å°ç 100%ï¼å¨ç§»å¨ç«¯ä»¥ä½ æå¸æç为移å¨ä¼åç大å°å±ç¤ºææ¡£ã
为ä½éè¦è¿ä¸ªï¼å 为移å¨ç«¯æµè§å¨å¾åäºå¨å®ä»¬çè§å£å®½åº¦ä¸è¯´è°ã
è¿ä¸ªå æ ç¾çåå¨ï¼æ¯ç±äºåæ¥ iPhone åå¸ä»¥åï¼äººä»¬å¼å§å¨å°çææºå±å¹ä¸é è§ç½é¡µï¼è大夿°ç«ç¹æªå¯¹ç§»å¨ç«¯åä¼åçç¼æ ãç§»å¨ç«¯æµè§å¨å æ¤ä¼æè§å£å®½åº¦è®¾ä¸º 960 åç´ ï¼å¹¶ä»¥è¿ä¸ªå®½åº¦æ¸²æé¡µé¢ï¼ç»æå±ç¤ºçæ¯æ¡é¢å¸å±ç缩æ¾çæ¬ãå ¶ä»çç§»å¨ç«¯æµè§å¨ï¼ä¾å¦è°·æå®åä¸çï¼ä¹æ¯è¿ä¹åçãç¨æ·å¯ä»¥å¨ç«ç¹ä¸æ¾å¤§ãç§»å¨ï¼æ¥çä»ä»¬æå ´è¶£çé£é¨åï¼ä½æ¯è¿çèµ·æ¥å¾ä¸èæãå¦æä½ ä¸å¹¸éå°äºä¸ä¸ªæ²¡æååºå¼è®¾è®¡çç½ç«ï¼ä»å¤©ä½ è¿ä¼çå°è¿ç§æ åµã
麻ç¦çæ¯ï¼ä½ ç带æç¹ååªä»æ¥è¯¢çååºå¼è®¾è®¡ä¸ä¼å¨ç§»å¨ç«¯æµè§å¨ä¸å颿飿 ·å·¥ä½ãå¦æä½ æä¸ªçªå±å¸å±ï¼å¨ 480 åç´ å以ä¸çè§å£å®½åº¦ä¸çæï¼ä½æ¯è§å£æ¯æ 960 åç´ è®¾å®çï¼ä½ å°ä¸ä¼å¨ç§»å¨ç«¯çå°ä½ ççªå±å¸å±ãéè¿è®¾å®width=device-widthï¼ä½ ç¨è®¾å¤çå®é
宽度è¦åäºè¹æé»è®¤çwidth=960pxï¼ç¶åä½ çåªä»æ¥è¯¢å°±ä¼å颿飿 ·çæã
æä»¥ä½ åºè¯¥å¨ä½ çææ¡£å¤´é¨æ»æ¯å å«ä¸é¢é£è¡ HTMLã
åè§å£å æ ç¾ä¸èµ·ï¼ä½ å¯ä»¥ä½¿ç¨å¦å¤å 个设å®ï¼ä½å¤§ä½è¯´æ¥ï¼ä¸é¢é£è¡å°±æ¯ä½ æ³è¦ä½¿ç¨çã
initial-scaleï¼è®¾å®äºé¡µé¢çåå§ç¼©æ¾ï¼æä»¬è®¾å®ä¸º 1ãheightï¼ç¹å«ä¸ºè§å£è®¾å®ä¸ä¸ªé«åº¦ãminimum-scaleï¼è®¾å®æå°ç¼©æ¾çº§å«ãmaximum-scaleï¼è®¾å®æå¤§ç¼©æ¾çº§å«ãuser-scalableï¼å¦æè®¾ä¸ºnoçè¯é»æ¢ç¼©æ¾ã
ä½ åºè¯¥é¿å
使ç¨minimum-scaleãmaximum-scaleï¼å°¤å
¶æ¯å°user-scalable设为noãç¨æ·åºè¯¥ææåå°½å¯è½å¤§æå°å°è¿è¡ç¼©æ¾ï¼é»æ¢è¿ç§åæ³ä¼å¼èµ·è®¿é®æ§é®é¢ã
å°ç»
ååºå¼è®¾è®¡æçæ¯ä¸ä¸ªååºæµè§ç¯å¢çç½é¡µæè åºç¨è®¾è®¡ã宿¶µçäºå¾å¤ CSS å HTML çåè½åææ¯ï¼ç°å¨åºæ¬ä¸å°±æ¯æä»¬é»è®¤å»ºè®¾ç½ç«çæ¹å¼ãæ³ä¸ä¸ä½ 卿æºä¸è®¿é®çç½ç«ï¼éå°ä¸ä¸ªç¼©æ¾çæ¡é¢çç½ç«ï¼æè ä½ éè¦åä¾§è¾¹æ»å¨æ¥å¯»æ¾ä¸è¥¿çç½ç«å¯è½æ¯ç¸å½ä¸å¯»å¸¸çãè¿æ¯å 为 Web å·²ç»è¿ç§»å°äºè¿ç§ååºå¼è®¾è®¡çæ¹å¼ä¸ã
å¨è¿äºè¯¾éå¦å°çå¸å±æ¹å¼ç帮å©ä¸ï¼å®ç°ååºå¼è®¾è®¡ä¹å徿å ç®åãå¦æä½ ä»å¤©æ°è¿äºè§£ Web å¼åï¼é£ä¹ä½ ä¸ååºå¼è®¾è®¡æ©æç¸æ¯ï¼æè¾¹æå¤å¾å¤çå·¥å ·ãå èï¼ä½ æå¿ è¦æ£æ¥ä¸ä½ æå¼ç¨ç任使æç年纪ã尽管åå²ä¸çæç« ä»ç¶æç¨ï¼ç°ä»£ç CSS å HTML ç使ç¨è®©å建ä¸ä¸ªä¼é ä¸å®ç¨ç设计åå¾è¿è¿æ´å 容æï¼ä¸æ è®ºä½ ç访客使ç¨ä»ä¹è®¾å¤æµè§ç½ç«ã