å¨ç½é¡µå¼åä¸ï¼CSSå¸å±æ¯å®ç°é¡µé¢ç¾è§ãåè½é½å ¨çéè¦é¨åãæ¬æååºä¸äºå¸¸è§çCSSå¸å±æå·§åå ¶åºç¨åºæ¯åå®è·µæ¹æ³ã
æµ®å¨å¸å±ï¼Floatï¼
åçï¼
æµ®å¨å ç´ ä¼ä»æ£å¸¸çææ¡£æµä¸ç§»åºï¼å¹¶åæå®æ¹åï¼leftærightï¼é é½ãéæµ®å¨å ç´ ä¼å´ç»æµ®å¨å ç´ æåã
åºç¨åºæ¯ï¼
- ç®åç两åå¸å±ï¼å·¦ä¾§å 容åºå+å³ä¾§å¯¼èªæ广åæ ã
- å¾çç¯ç»ææ¬ï¼å¾çé å·¦æé å³ï¼æåå´ç»å¾çæåã
å®è·µæå·§ï¼
- æ¸ é¤æµ®å¨ï¼ä½¿ç¨ clear: both æéè¿ä¼ªå ç´ æ¸ é¤æµ®å¨ï¼
.clearfix::after {
content: '';
display: table;
clear: both;
}
å¨ä½¿ç¨ æµ®å¨å¸å±ï¼floatï¼æ¶ï¼æ¸ é¤æµ®å¨æ¯ä¸ºäºé¿å ç¶çº§é«åº¦å¡é·ï¼ä»èä¿è¯é¡µé¢å¸å±çå®æ´æ§å稳å®æ§ã
å½ä¸ä¸ªå ç´ è¢«è®¾ç½®ä¸ºæµ®å¨ï¼float: left æ float: rightï¼æ¶ï¼å®ä¼è±ç¦»æ£å¸¸çææ¡£æµï¼ä¸åå æ®ç¶å®¹å¨çé«åº¦ç©ºé´ãæ¤æ¶ï¼ç¶å®¹å¨çé«åº¦ä» ç±æªæµ®å¨çå 容å³å®ï¼å¦æ没ææªæµ®å¨çå 容ï¼ç¶å®¹å¨çé«åº¦ä¼è¢«âå¡é·â为0ã
å®é å¼åä¸ç建议ï¼
- æ¸ é¤æµ®å¨æ¯å¿ éçï¼
å¦æ使ç¨æµ®å¨å¸å±ï¼å ä¹æ»éè¦æ¸ é¤æµ®å¨ï¼ä»¥é¿å é«åº¦å¡é·ã
- å°½é使ç¨ç°ä»£å¸å±æ¿ä»£æµ®å¨ï¼
â¢ ä½¿ç¨ Flexbox æ Grid å¸å±ï¼è¿äºå¸å±æ¹å¼è½ç´æ¥è§£å³å ç´ å¯¹é½åç¶å®¹å¨é«åº¦çé®é¢ï¼é¿å 使ç¨æµ®å¨åå ¶ç¸å ³é®é¢ã
⢠ä¾å¦ï¼ç¨ Flexbox æ¿ä»£ç»å ¸ç两åå¸å±ï¼
.container {
display: flex;
}
.left {
flex: 1;
}
.right {
flex: 2;
}
- é¿å 溢åºé®é¢ï¼ç¶çº§å®¹å¨æ²¡æ设置é«åº¦æ¶å¯è½å æµ®å¨åå ç´ âåå¡âãéè¿ overflow: hidden æ使ç¨ä¼ªå ç´ è§£å³ã
å®ä½å¸å±ï¼Positionï¼
åçï¼
éè¿ position å±æ§å®ä¹å ç´ å¨é¡µé¢ä¸çä½ç½®ï¼æ以ä¸å ç§æ¨¡å¼ï¼
⢠éæå®ä½ï¼staticï¼ï¼é»è®¤å¼ï¼æç §ææ¡£æµæåã
⢠ç¸å¯¹å®ä½ï¼relativeï¼ï¼ç¸å¯¹äºèªèº«åå§ä½ç½®å移ã
⢠ç»å¯¹å®ä½ï¼absoluteï¼ï¼ç¸å¯¹äºæè¿çå®ä½ç¥å ï¼positionéstaticï¼ã
⢠åºå®å®ä½ï¼fixedï¼ï¼ç¸å¯¹äºè§å£å®ä½ï¼ä¸é页é¢æ»å¨ã
⢠ç²æ§å®ä½ï¼stickyï¼ï¼å¨è§å£å ç¹å®åºåâåºå®âï¼è¶ åºåºåæ¢å¤æ£å¸¸æµã
åºç¨åºæ¯ï¼
-
åºå®å¤´é¨æ导èªæ ï¼ä½¿ç¨ position: fixed å建å§ç»å¯è§ç导èªæ ã
-
å¼¹çªæ模ææ¡ï¼ç¨ position: absolute æ fixed å®ä¹å± ä¸ã
-
å ç´ âå¸éâææï¼position: sticky 常ç¨äºè¡¨æ ¼æ é¢æé¿é¡µé¢çæ»å¨å¯¼èªã
å®è·µæå·§ï¼
- å± ä¸å®ä½ï¼
.center {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
}
- é¿å éå é®é¢ï¼åç设置 z-index æ§å¶å å 顺åºã
å¼¹æ§çåå¸å±ï¼Flexboxï¼
åçï¼
éè¿ç¶å®¹å¨ç display: flex åç¸å ³å±æ§æ§å¶åå ç´ çæåã对é½ååå¸ã
åºç¨åºæ¯ï¼
-
ååºå¼å¸å±ï¼èªå¨è°æ´åå ç´ ç宽度åé´è·ã
-
导èªæ ï¼æ°´å¹³æåç´æåï¼é´éååã
-
å¡çå¸å±ï¼å¨æè°æ´æå以éåºä¸åå±å¹å®½åº¦ã
å®è·µæå·§ï¼
- åºæ¬è¯æ³ï¼
.container {
display: flex;
justify-content: space-between; /* æ°´å¹³åå¸ */
align-items: center; /* åç´å¯¹é½ */
}
- å¼¹æ§å¸å±ä¸çåå ç´ æ§å¶ï¼
⢠flex-grow: æ§å¶åå ç´ çæ¾å¤§æ¯ä¾ã
⢠flex-shrink: æ§å¶åå ç´ ç缩å°æ¯ä¾ã
⢠flex-basis: å®ä¹å ç´ çåå§å¤§å°ã
ç½æ ¼å¸å±ï¼Gridï¼
åçï¼
éè¿å®ä¹è¡ååå建äºç»´å¸å±ï¼ç¶å®¹å¨è®¾ç½® display: gridã åºç¨åºæ¯ï¼
-
å¤æ页é¢å¸å±ï¼å¦å¤æ å客页é¢æåå°ç®¡çç³»ç»ã
-
å¾çç»å»ï¼å建è§å对é½çå¾çç½æ ¼ã
å®è·µæå·§ï¼
- åºç¡è¯æ³ï¼
.grid-container {
display: grid;
grid-template-columns: repeat(3, 1fr); /* ä¸åç宽 */
gap: 10px; /* é´è· */
}
- çµæ´»è°æ´å¸å±ï¼
⢠grid-template-areas å®ä¹å¸å±åºåã
⢠media æ¥è¯¢ç»åç½æ ¼å¸å±å®ç°ååºå¼é¡µé¢ã