±à¼ÍƼö: |
±¾ÎÄÀ´×ÔÍøÂ磬ÕâÆªÎÄÕµÄÄ¿µÄÊÇͨ¹ý»Ø¹ËCSSµÄÀúÊ·±³¾°£¬½éÉÜÏÂʱÖÁ2018ÄêµÄ½ñÌìCSS·¢Õ¹¹ý³ÌÖеÄһЩÉè¼ÆÄ£Ê½ºÍ¹¤¾ßµÄÑݱ䡣¡£ |
|

CSSÒ»Ö±±»web¿ª·¢ÕßÈÏΪÊÇ×î¼òµ¥Ò²ÊÇ×îÄѵÄÒ»ÃÅÆæÝâÓïÑÔ¡£ËüµÄÈëÃÅȷʵ·Ç³£¼òµ¥¡ª¡ªÄãÖ»ÐèÎªÔªËØ¶¨ÒåºÃÑùʽÊôÐÔºÍÖµ£¬¿´ÆðÀ´ËƺõÐèÒª×öµÄ¹¤×÷Ò²¾ÍÕâÑùÂȻ¶øÔÚһЩ´óÐ͹¤³ÌÖÐCSSµÄ×éÖ¯ÊÇÒ»¼þ¸´ÔÓºÍÁèÂÒµÄÊÂÇ飬Äã¸ü¸ÄÒ³ÃæÉÏÈÎÒâÒ»¸öÔªËØµÄÒ»ÐÐCSSÑùʽ¶¼ÓпÉÄÜÓ°Ïìµ½ÆäËûÒ³ÃæÉϵÄÔªËØ¡£
ΪÁ˽â¾öCSS´í×Û¸´Ôӵļ̳ÐÎÊÌ⣬¿ª·¢Õß½¨Á¢Á˸÷ÖÖ²»Í¬µÄ×î¼Ñʵ¼ù£¬ÎÊÌâÊÇÄÄÒ»¸ö×î¼Ñʵ¼ùÊÇ×îºÃµÄĿǰÉÐÎÞ¶¨ÂÛ£¬¶øÇÒÓÐЩʵ¼ùÏ໥֮¼äÊÇÍêȫì¶ÜµÄ¡£Èç¹ûÄãµÚÒ»´Î³¢ÊÔѧϰCSS£¬Õâ¶ÔÓÚÄãÀ´ËµÊÇÏ൱ÃÔ»óµÄ¡£
ͨ¹ý¶ÔÕâЩ±³¾°µÄÀí½â£¬Ä㽫»á¸üÇáËɵÄÀí½âÿ¸öÉè¼ÆË¼Ïë²¢ÇÒѧÒÔÖÂÓ᣽ÓÏÂÀ´ÈÃÎÒÃÇ¿ªÊ¼°É
CSS»ù±¾ÑùʽʹÓÃ
ÎÒÃÇ´ÓÒ»¸ö×î¼òµ¥µÄÍøÒ³index.html ¿ªÊ¼£¬Õâ¸öÎļþÖаüº¬Ò»¸ö¶ÀÁ¢µÄÑùʽÎļþindex.css:
<!DOCTYPE html>
<html lang = "en" >
<head>
<meta
charset = "UTF-8" >
<title> Modern CSS </title>
<link rel = "stylesheet" href =
"index.css" >
</head>
<body>
<header> This is the header.</header>
<main>
<h1>
This is the main content.
</h1>
<p>...</p>
</main>
<nav>
<h4>
This is the navigation section.
</h4>
<p>...</p>
</nav>
<aside>
<h4>
This is an aside section.
</h4>
<p>...</p>
</aside>
<footer>
This is the footer.
</footer>
</body>
</html>
|
ÉÏÃæµÄHTML±êÇ©ÖÐûÓÃʹÓÃÈκÎclass»òÕßid¡£
ÔÚûÓÐÈκÎCSSÑùʽµÄÇé¿öÏ£¬ÎÒÃǵÄÍøÕ¾¿´ÆðÀ´ÊÇÕâ¸öÑù×Ó£º
¹¦ÄÜ¿ÉÓ㬵«¿´ÆðÀ´²»ºÃ¿´£¬ÎÒÃÇ¿ÉÒÔ¼ÌÐøÔÚindex.css¼ÓµãCSSÃÀ»¯ÏÂÅŰ棺
/*
BASIC TYPOGRAPHY */
/* from https://github.com/oxalorg/sakura */
html {font-size: 62.5%;
font-family: serif;}
body {font-size: 1.8rem;
line-height: 1.618;
max-width: 38em;
margin: auto;
color: #4a4a4a;
background-color: #f9f9f9;
padding: 13px;}
@media(max-width: 684px) {
body {
font-size: 1.53rem;}
}
@media(max-width: 382px) {
body {
font-size: 1.35rem;}
}
h1, h2, h3, h4, h5, h6 {
line-height: 1.1;
font-family: Verdana,
Geneva, sans-serif;
font-weight: 700;
overflow-wrap: break-word;
word-wrap: break-word;
-ms-word-break: break-all;
word-break: break-word;
-ms-hyphens: auto;
-moz-hyphens: auto;
-webkit-hyphens: auto;
hyphens: auto;}
h1 {
font-size: 2.35em;}
h2 {
font-size: 2em;}
h3 {
font-size: 1.75em;}
h4 {
font-size: 1.5em;}
h5 {
font-size: 1.25em;}
h6 {
font-size: 1em;}
|
ÕâµØ·½´ó²¿·Ö¶¼ÊǹØÓÚÅŰ棨×ÖÌå¡¢Ðиߵȣ©ÑùʽµÄ¶¨Ò壬Ҳ°üº¬Ò»Ð©ÑÕÉ«ºÍÒ»¸ölayout¾ÓÖÐÉèÖá£ÎªÁËÈÃÿ¸öÊôÐÔÓиöºÏÀíµÄÖµÄãÐèҪѧϰµãÉè¼ÆÀíÂÛ£¬µ«ÊÇÕâ¸öµØ·½ÎÒÃÇÓõ½µÄCSS±¾Éí²¢²»¸´ÔÓ£¬Äã¿ÉÒÔÖ±½Ó¶¨Ò壬½á¹ûÈçÏÂËùʾ£º

ÓÐËù±ä»¯Á˰ɣ¡ÕýÈçCSSÐíŵµÄÒ»Ñù¡ª¡ªÓÃÒ»ÖÖ¼òµ¥µÄ·½Ê½¸øÎĵµÌí¼ÓÉÏÑùʽ£¬²»ÐèÒª±à³Ì»òÕ߸´ÔÓµÄÒµÎñÂß¼¡£²»ÐÒµÄÊÇ£¬Êµ¼ÊÇé¿ö»á¸´Ôӵĺܶ࣬ÎÒÃDz»µ¥µ¥Ê¹ÓõÄÊÇCSSµÄÅŰæºÍÑÕÉ«ÕâÖÖ¼òµ¥µÄÑùʽ¶¨Òå¡£
CSSµÄ²¼¾ÖʹÓÃ
ÔÚ20ÊÀ¼Í90Äê´ú£¬CSS»¹Î´¹ã·ºÆÕ¼°Ö®Ç°£¬¶ÔÓÚÒ³ÃæµÄ²¼¾ÖûÓÐÌ«¶àµÄÑ¡Ôñ¡£HTML×î³õÊDZ»Éè¼ÆÎª´´½¨´¿Îı¾µÄÒ»ÃÅÓïÑÔ£¬²¢²»Êǰüº¬²à±ßÀ¸¡¢ÁеȲ¼¾ÖµÄ¶¯Ì¬Ò³Ãæ¡£ÔçÆÚµÄʱºò£¬Ò³Ãæ²¼¾Öͨ³£Ê¹ÓõÄÊÇHTML±í¸ñ£¬ÔÚÐкÍÁÐÖÐ×éÖ¯ÄÚÈÝ£¬ÕâÖÖ·½Ê½ËäÈ»ÓÐЧ£¬µ«ÊǰÑÄÚÈݺͱíÏÖÔÓôÛÔÚÒ»¿éÁË£¬Èç¹ûÄãÏë¸Ä±äÍøÒ³µÄ²¼¾Ö¾ÍµÃÐèÒªÐ޸ĴóÁ¿µÄHTML´úÂë¡£
CSSµÄ³öÏÖÍÆ¶¯ÁËÄÚÈÝ£¨Ð´ÔÚHTMLÖУ©ºÍ±íÏÖ£¨Ð´ÔÚCSSÖУ©µÄ·ÖÀ룬ÈËÃÇ¿ªÊ¼°ÑËùÓеIJ¼¾Ö´úÂë´ÓHTMLÖÐÒÆ³ý·ÅÈëµ½CSSÖУ¬ÐèҪעÒâµÄÊÇ£¬ºÍHTMLÒ»ÑùCSSµÄÉè¼ÆÒ²²»ÊÇÓÃÀ´×öÍøÒ³ÄÚÈݲ¼¾ÖµÄ£¬ËùÒÔÔçÆÚµÄʱºòÊÔͼ½â¾öÕâÖÖ·ÖÀëÉè¼ÆÊǺÜÀ§Äѵġ£
ÎÒÃÇÀ´Óøöʵ¼ÊÀý×ÓÀ´¿´ÏÂÈçºÎʵÏÖ²¼¾Ö£¬ÔÚÎÒÃǶ¨ÒåCSS²¼¾ÖǰÏÈÖØÖÃÏÂpaddingºÍmargin£¨»áÓ°Ïì²¼¾ÖµÄ¼ÆË㣩£¬²»Í¬µÄÇøÓòÎÒÃǶ¨Ò岻ͬµÄÑÕÉ«£¨²»ÒªÌ«ÔÚÒâºÃ¿´²»ºÃ¿´Ö»Òª²»Í¬ÇøÓò¼ä×ã¹»ÐÑÄ¿¾Í¿ÉÒÔ£©
/* RESET LAYOUT AND ADD COLORS */
body { margin: 0 ;
padding: 0;
max-width: inherit;
background: #fff;
color: #4a4a4a;}
header, footer {
font-size: large;
text-align: center;
padding: 0.3em 0;
background-color: #4a4a4a;
color: #f9f9f9;}
nav {background: #eee;}
main {
background: #f9f9f9;}
aside {
background: #eee;} |
ÏÖÔÚÒ³ÃæÓ¦¸Ã¿´ÆðÀ´ÈçÏ£º

½ÓÏÂÀ´ÎÒÃÇÓÃCSSÀ´²¼¾ÖÏÂÒ³ÃæÄÚÈÝ£¬ÎÒÃǽ«°´ÕÕʱ¼ä˳Ðò²ÉÓÃÈýÖÖ²»Í¬µÄ·½Ê½£¬ÏÈ´Ó×î¾µäµÄ¸¡¶¯²¼¾Ö¿ªÊ¼°É¡£
»ùÓÚ¸¡¶¯µÄ²¼¾Ö
CSS¸¡¶¯ÊôÐÔ×î³õÊÇΪÁ˽«Í¼Æ¬¸¡¶¯ÔÚÒ»ÁÐÎı¾µÄ×ó²à»òÕßÓҲࣨ±¨Ö½ÉϾ³£¿´µ½£©¡£ÔçÔÚ21ÊÀ¼Í³õ£¬web¿ª·¢Õß½«Õâ¸öÊôÐÔµÄÓÅÊÆÀ©Õ¹µ½ÁËÈÎÒâµÄÔªËØ£¬ÕâÒâζ×ÅÄã¿ÉÒÔͨ¹ýdivµÄÄÚÈݸ¡¶¯´´½¨³öÐкÍÁеĴí¾õ¡£Í¬Ñù£¬¸¡¶¯Ò²²»ÊÇ»ùÓÚÕâÑùµÄÄ¿µÄÉè¼ÆµÄ£¬ËùÒÔ¼æÈÝÐÔÉÏ»áÓкܶàÎÊÌâ¡£
2006Ä꣬A List ApartÉÏ·¢±íÁËһƪÈÈÃÅÎÄÕÂIn Search of the Holy
Grail£¬ÎÄÕ¸ÅÊöÁËʵÏÖÊ¥±²¼¾ÖµÄÏêϸ·½·¨¡ª¡ªÒ»¸öÍ·²¿¡¢ÈýÁÐÄÚÈݺÍÒ»¸öµ×²¿£¬ÄãÒ»¶¨¾õµÃÒ»¸ö¼òµ¥µÄ²¼¾Ö±»³ÆÎªÊ¥±²¼¾ÖºÜ·è¿ñ°É£¬µ«ÊÇÔÚµ±Ê±´¿CSSµÄʱ´úÕâµÄÈ·ºÜÄÑʵÏÖ¡£
ÏÂÃæÊÇÒ»¸ö»ùÓÚ¸¡¶¯²¼¾ÖµÄÀý×Ó£¬Óõ½ÁËÎÒÃÇÎÄÕÂÖÐÌáµ½µÄһЩ¼¼Êõµã£º
/* FLOAT-BASED LAYOUT */
body {
padding-left: 200px;
padding-right: 190px;
min-width: 240px;}
header, footer {
margin-left: -200px;
margin-right: -190px; }
main, nav, aside {
position: relative;
float: left;}
main {
padding: 0 20px;
width: 100%;}
nav {
width: 180px
padding: 0 10px;
right: 240px;
margin-left: -100%;}
aside {
width: 130px;
padding: 010px;
margin-right: -
100%;}
footer {
clear: both;}
* html nav {
left: 150px;} |
×Ðϸ¿´ÏÂCSS´úÂ룬ÕâÀïÃæÎªÁËÈÃËü¹¤×÷°üº¬Ò»Ð©±ØÐëµÄhack·½Ê½£¨¸º±ß¾à¡¢clear: both¡¢Ó²±àÂëµÄ¿í¶È¼ÆËãµÈ£©£¬ÉÔºóÎÒÃÇ»á¶ÔÕâЩϸ½Ú×öÏêϸµÄ½âÊÍ¡£×îÖյĽá¹ûÈçÏ£º

¿´ÆðÀ´²»´íÁË£¬µ«ÊÇͨ¹ýÈýÁеÄÑÕÉ«¿ÉÒÔ¿´³öÀ´ËûÃǵĸ߶Ȳ»Ò»Ñù£¬Ò³ÃæµÄ¸ß¶ÈҲûÓÐÌî³äÂúÆÁÄ»¡£ÕâЩÎÊÌâÊǸ¡¶¯²¼¾Öµ¼Öµģ¬ËùÓеĸ¡¶¯Ö»Êǽ«ÄÚÈÝ·ÅÔÚÄ³Ò»Çø¿éµÄ×ó±ß»òÕßÓұߣ¬µ«ÊÇû·¨ÖªµÀÆäËûÇø¿éµÄ¸ß¶È¡£Õâ¸öÎÊÌâһֱûÓиöºÃµÄ½â¾ö·½°¸£¬Ö±µ½Flexbox²¼¾ÖµÄ³öÏÖ¡£
»ùÓÚFlexboxµÄ²¼¾Ö
flexbox CSSÊôÐÔʵÔÚ2009ÄêµÚÒ»´ÎÌá³öÀ´µÄ£¬µ«Ö±µ½2015Äê²ÅµÃµ½ä¯ÀÀÆ÷µÄ¹ã·ºÖ§³Ö¡£Flexbox±»Éè¼ÆÎª¶¨ÒåÒ»¸ö¿Õ¼äÔÚÐлòÕßÁÐÉÏÈçºÎ·Ö²¼µÄ£¬ÕâÈÃËü±È¸¡¶¯¸üÊʺÏÓÃÀ´×ö²¼¾Ö£¬ÕâÒâζÔÚʹÓø¡¶¯²¼¾ÖÊ®¶àÄêºó£¬web¿ª·¢ÕßÖÕÓÚ²»ÔÙʹÓôøÓÐhackµÄ¸¡¶¯²¼¾Ö·½Ê½ÁË¡£
ÏÂÃæÊÇÒ»¸ö»ùÓÚFlexbox²¼¾ÖµÄÀý×Ó¡£×¢ÒâΪÁËÈÃflexboxÉúЧÎÒÃÇÐèÒªÔÚÈýÁеÄÍâÃæ¶îÍâ°ü×°Ò»¸ödiv:
<!DOCTYPE
html>
<html lang ="en">
<head>
<meta charset="UTF-8">
<title>Modern CSS</title>
<link rel="stylesheet"
href="index.css">
</head>
<body>
<header>This is the header.</header>
<div class ="container">
<main>
<h1>This is the main
content.</h1>
<p>...</p>
</main>
<nav>
<h4>This is the navigation
section.</h4>
<p>...</p
</nav>
<aside>
<h4>This is an aside
section.</h4>
<p>...</p>
</aside>
</div>
<footer>This is the footer.</footer>
</body>
</html> |
ÏÂÃæÊÇflexbox²¼¾ÖµÄCSS´úÂ룺
/* FLEXBOX-BASED LAYOUT */
body {
min-height: 100vh;
display: flex;
flex-direction: column;}
.container {
display: flex;
flex: 1}
main {
flex: 1;
padding: 0 20px ;}
nav { flex: 0 180px;
padding: 0 10px;
order: -1;}
aside {
flex: 0 130px;
padding: 0 10px;
} |
ÕâÖÖ·½Ê½ºÍ¸¡¶¯²¼¾ÖÏà±È¸ü¼Ó½ô´ÕÁË£¬ËäÈ»flexboxһЩÊôÐÔºÍÖµ³õ¿´ÆðÀ´ÓÐЩÀ§»ó£¬µ«ÊǺôõ²»ÐèÒªÏñ¸¡¶¯²¼¾ÖÄÇÑù¸º±ß¾àµÄhack·½°¸ÁË£¬ÕâÊǸö¾Þ´óµÄ½ø²½¡£×îÖÕ½á¹ûÈçÏ£º

Ч¹ûºÃ¶àÁË£¡ËùÓеÄÁи߶ȶ¼Ïàͬ£¬²¢ÇÒÕ¼¾ÝÁËÕû¸öÒ³ÃæµÄ¸ß¶È¡£´ÓijÖÖÒâÒåÉÏÀ´ËµÕâËÆºõÊÇÍêÃÀµÄÁË£¬µ«ÊÇÕâ¸ö·½Ê½Ò²ÓÐЩСÎÊÌ⣬ÆäÖÐÒ»¸ö¾ÍÊÇä¯ÀÀÆ÷µÄ¼æÈÝÐÔ¡ª¡ªÖ÷Á÷µÄÏÖ´úä¯ÀÀÆ÷¶¼Ö§³Öflexbox£¬µ«ÊÇһЩ¾ÉµÄä¯ÀÀÆ÷²»¼æÈÝ¡£ÐÒÔ˵ÄÊÇä¯ÀÀÆ÷³§ÉÌÒ²ÕýÔÚ¾¡×î´óŬÁ¦ÖÕÖ¹¶Ô¾É°æ±¾ä¯ÀÀÆ÷µÄÖ§³Ö£¬Îªweb¿ª·¢ÕßÌṩ¸üÒ»ÖµĿª·¢ÌåÑé¡£ÁíÒ»¸öÎÊÌâÊÇÎÒÃÇÐèÒª
<divclass="container">°ü¹üHTMLÄÚÈݱêÇ©£¬Èç¹ûÄܱÜÃâ»á¸üÍêÃÀ¡£ÀíÏë״̬Ï£¬ÈκÎCSS²¼¾Ö¶¼²»ÐèÒª¸Ä±äHTML±êÇ©µÄ¡£
×î´óµÄȱµãÊÇCSS´úÂë±¾Éí¡ª¡ªflexboxËäȻȥµôÁ˸¡¶¯µÄHack£¬µ«ÊÇ´úÂëµÄ¿É¶ÁÐÔÉϱäµÃ¸ü²îÁË¡£ÄãºÜÄÑÈ¥Àí½âflexboxµÄCSS£¬²¢ÇÒ²»ÖªµÀÒ³ÃæÉÏÊÇÈçºÎÈ¥²¼¾ÖËùÓÐÔªËØµÄ¡£ÔÚдflexbox²¼¾Ö´úÂëµÄʱ£¬Óкܶàʱºò¿¿µÄÊÇ´óÁ¿µÄ²Â²âºÍ³¢ÊÔ¡£
ÌØ±ðÐèҪעÒâµÄÊÇ£¬flexbox±»Éè¼ÆÓÃÀ´ÔÚµ¥ÐлòÕßµ¥ÁÐÖзָîÔªËØµÄ¡ª¡ªËü²»ÊÇÉè¼ÆÓÃÀ´¸øÕû¸öÒ³Ãæ×ö²¼¾ÖµÄ£¡¾¡¹ÜËüÄܺܺõÄʵÏÖ£¨Ïà¶ÔÓÚ¸¡¶¯²¼¾ÖºÃºÜ¶à£©¡£ÁíÒ»ÖÖ²»Í¬µÄ¹æ·¶ÊÇÓÃÀ´´¦Àí¶àÐлòÕß¶àÁв¼¾ÖµÄ£¬ÎÒÃdzÆÖ®ÎªCSS
Íø¸ñ¡£
»ùÓÚGridµÄ²¼¾Ö
CSSÍø¸ñ×îÔçÔÚ2011ÄêÌá³öµÄ£¨±ÈflexboxÌá°¸Íí²»Á˶à¾Ã£©£¬µ«ÊÇ»¨Á˺ó¤Ê±¼ä²ÅÔÚä¯ÀÀÆ÷ÉÏÆÕ¼°ÆðÀ´¡£½ØÖ¹2018Äê³õ£¬´ó¶àÊýÏÖ´úä¯ÀÀÆ÷¶¼ÒѾ֧³ÖCSS
grid£¨Õâ±ÈÒ»Á½ÄêǰÓо޴óµÄ½ø²½ÁË£©¡£
ÏÂÃæÎÒÃÇ¿´Ò»Ï»ùÓÚÍø¸ñ²¼¾ÖµÄÀý×Ó£¬×¢ÒâÔÚÕâ¸öÀý×ÓÖÐÎÒÃǰÚÍÑÁËflexbox²¼¾ÖÖбØÐëʹÓà <divclass="container">µÄÏÞÖÆ£¬ÎÒÃÇ¿ÉÒÔ¼òµ¥µÄʹÓÃÔʼµÄHTML£¬ÏÈ¿´ÏÂCSSÎļþ£º
/* GRID-BASED LAYOUT */
body {
display: grid;
min-height: 100vh;
grid-template-columns: 200px
1fr150px;
grid-template-rows: min-content
1fr min-content;}
header {
grid-row: grid-column: 1/ 4;
}
nav {grid-row: 2;
grid-column: 1/ 2;
padding: 0 10px;}
main {grid-row: 2;
grid-column: 2/ 3;
padding: 020px;}
aside {grid-row: 2
grid-column: 3/ 4£»
padding: 0 10px;}
footer {
grid-row: 3;
grid-column: 1/ 4;
} |
ËäÈ»½á¹û¿´ÆðÀ´ºÍ»ùÓÚflexboxµÄ²¼¾ÖÒ»Ñù£¬µ«ÊÇCSSÔںܴó³Ì¶ÈÉϵõ½Á˸Ľø£¬ËüÇåÎúµØ±í´ï³öÁËÆÚÍûµÄ²¼¾Ö·½Ê½¡£ÐкÍÁеĴóСºÍÐÎ×´ÔÚbodyÑ¡ÔñÆ÷Öж¨Ò壬ÿһÏîitemÖ±½Óͨ¹ýËûÃÇËùÔÚÐкÍÁеÄλÖö¨Òå¡£
grid-column Õâ¸öÊôÐÔÄã¿ÉÄܾõµÃ²»Ì«ºÃÀí½â£¬Ëü¶¨ÒåÁËÁÐµÄÆðµãºÍÖյ㡣Õâ¸öµØ·½ÈÃÄã¾õµÃÀ§»óµÄ¿ÉÄÜÊÇÃ÷Ã÷ÓÐ3ÁУ¬È´ÎªÊ²Ã´¶¨ÒåµÄ·¶Î§ÊÇ1µ½4£¬Í¨¹ýÏÂÃæµÄͼƬÄã¾ÍÄÜÀí½âÁË£º

µÚÒ»ÁÐÊÇ´Ó1µ½2£¬µÚ¶þÁÐÊÇ´Ó2µ½3£¬µÚÈýÁдÓ3µ½4£¬ËùÒÔÍ·²¿µÄ grid-columnÊÇ´Ó1µ½4Õ¼¾ÝÕû¸öÒ³Ãæ£¬µ¼º½µÄ
grid-columnÊÇ´Ó1µ½2Õ¼¾ÝµÚÒ»ÁеȵÈ
Ò»µ©Äãϰ¹ßÁËgridÓï·¨£¬Äã»á¾õµÃËüÊÇÒ»Öַdz£ÀíÏëµÄCSS²¼¾Ö·½Ê½¡£Î¨Ò»È±µã¾ÍÊÇä¯ÀÀÆ÷Ö§³Ö£¬ÐÒÔ˵ÄÊǹýÈ¥Ò»ÄêÖÐä¯ÀÀÆ÷µÄÖ§³ÖÓֵõ½Á˽øÒ»²½µÄÌá¸ß¡£×÷ΪרΪCSSÉè¼ÆµÄµÚÒ»¿îÕæÕýµÄ²¼¾Ö¹¤¾ßºÜÄÑÃè»æËüµÄÖØÒªÐÔ£¬´ÓijÖÖÒâÒåÉÏÀ´Ëµ£¬ÓÉÓÚÏÖÓеŤ¾ßÐèҪ̫¶àµÄhackºÍ±äͨ·½Ê½È¥ÊµÏÖ£¬Òò´ËwebÉè¼ÆÕß¹ýÈ¥¶ÔÓÚ²¼¾ÖµÄ´´ÒâÉÏÒ»Ö±ºÜ±£ÊØ£¬CSSÍø¸ñµÄ³öÏÖÓпÉÄܻἤ·¢³öÒ»Åú´ÓδÓйýµÄ´´Òâ²¼¾ÖÉè¼Æ¡ª¡ªÏëÏ뻹ÊÇͦ¼¤¶¯ÈËÐĵģ¡

ʹÓÃCSSÔ¤´¦ÀíÆ÷À©Õ¹CSSÓï·¨
µ½Ä¿Ç°ÎªÖ¹£¬ÎÒÃǽéÉÜÁËCSSµÄ»ù±¾ÑùʽºÍ²¼¾Ö£¬ÏÖÔÚÎÒÃÇÔÙÀ´¿´ÏÂÄÇЩ°ïÖúCSSÌáÉýÓïÑÔ±¾ÉíÌåÑéµÄ¹¤¾ß£¬ÏÈ´ÓCSSÔ¤´¦ÀíÆ÷¿ªÊ¼°É¡£
CSSÔ¤´¦ÀíÆ÷ÔÊÐíÄãʹÓò»Í¬µÄÓïÑÔÀ´¶¨ÒåÑùʽ£¬×îÖÕ»á°ïÄãת»»Îªä¯ÀÀÆ÷¿ÉÒÔ½âÊ͵ÄCSS£¬ÕâÒ»µãÔÚµ±½ñä¯ÀÀÆ÷¶ÔÐÂÌØÐÔÖ§³Ö»ºÂýµÄÇé¿öϺÜÓмÛÖµ¡£µÚÒ»¸öÖ÷Á÷µÄCSSÔ¤´¦ÀíÆ÷ÊÇ2006Äê·¢²¼µÄSass£¬ËüÌṩÁËÒ»¸öеĸü¼ò½àµÄÓï·¨£¨Ëõ½ø´úÌæ´óÀ¨ºÅ£¬Ã»Óзֺŵȵȣ©£¬Í¬Ê±Ôö¼ÓÁËһЩCSSȱʧµÄ¸ß¼¶ÌØÐÔ£¬Ïñ±äÁ¿¡¢¹¤¾ß·½·¨»¹ÓмÆËã¡£ÏÂÃæÎÒÃÇʹÓÃSass±äÁ¿ÊµÏÖÏÂÇ°ÃæÀý×ÓÖдøÑÕÉ«µÄÇøÓò¶¨Ò壺
$dark-color:
#4a4a4a
$light-color:
#f9f9f9
$side-color:
#eee
body
color: $dark-color
header, footer
background-color: $dark-color
color: $light-color
main
background: $light-color
nav, aside
background: $side-color |
×¢ÒâÎÒÃÇÓà $¶¨ÒåÁ˿ɸ´ÓõıäÁ¿£¬Ê¡ÂÔÁË´óÀ¨ºÅºÍ·ÖºÅ£¬Óï·¨¿´ÆðÀ´¸ü¼ÓÇåÎúÁË¡£¼ò½àµÄÓï·¨ÈÃSass¿´ÆðÀ´ºÜ°ô£¬µ«±äÁ¿ÕâÑùµÄÌØÐÔ³öÏÖÔÚµ±Ê±À´ËµÒâÒå¸ü´ó£¬ÕâΪ±àдÕû½à¿Éά»¤µÄCSS´úÂ뿪±ÙÁËеĿÉÄÜÐÔ¡£
ʹÓÃSassÄãÐèÒª°²×°Ruby(Ruby)£¬ÕâÃÅÓïÑÔÖ÷ÒªÊÇÈÃSass±àÒë³ÉÕý³£µÄCSS£¬Í¬Ê±ÄãÐèÒª°²×°Sass
gem£¬Ö®ºóÄã¾Í¿ÉÒÔͨ¹ýÃüÁîÐаÑÄãµÄ.sassÎļþת³É.cssÎļþÁË£¬ÎÒÃÇÏÈ¿´Ò»¸öʹÓÃÃüÁîÐеÄÀý×Ó£º
sass
--watch index.sass index.css |
Õâ¸öÃüÁÆÚ°Ñ index.sassÖеÄSass´úÂëתΪCSSдÈëµ½ index.cssÎļþÖУ¨ --watch²ÎÊýÉ趨ºó»áʵʱ¼àÌý.sassÎļþ¸Ä¶¯²¢Ö´ÐбàÒ룬·Ç³£·½±ã£©¡£
Õâ¸ö¹ý³Ì±»³ÆÎª¹¹½¨²½Öè¡£ÕâÔÚ2006ÄêµÄʱºòÊǷdz£´óµÄÒ»¸öÕϰ£¬Èç¹ûÄã¶ÔRubyÕâÑùµÄ±à³ÌÓïÑÔÊìϤµÄ»°£¬Õâ¸ö¹ý³Ì·Ç³£¼òµ¥¡£µ«Êǵ±Ê±ºÜ¶àǰ¶Ë¿ª·¢ÕßÖ»ÓÃHTMLºÍCSS£¬ËûÃDz»ÐèÒªÀàËÆÕâÑùµÄ¹¤¾ß¡£Òò´Ë£¬ÎªÁËʹÓÃCSSÔ¤±àÒëµÄ¹¦ÄܶøÈÃÒ»¸öÈËѧϰÕû¸öÉú̬ϵͳÊǺܴóµÄÒ»¸öÒªÇóÁË¡£
2009ÄêµÄʱºò£¬Less CSSÔ¤±àÒëÆ÷·¢²¼¡£ËüÒ²ÊÇRubyдµÄ£¬²¢ÇÒÌṩÁËÀàËÆÓÚSassµÄ¹¦ÄÜ£¬¹Ø¼ü²»Í¬µãÊÇËüµÄÓï·¨Éè¼ÆÉϸü½Ó½üCSS¡£ÕâÒâζ×ÅÈκÎCSS´úÂë¶¼ÊǺϷ¨µÄLess´úÂ룬ͬÑùÎÒÃÇ¿´Ò»¸öÓÃLessÓï·¨µÄÀý×Ó£º
@dark-color: #4a4a4a;
@light -color: #f9f9f9;
@side -color: #eee;
body {
color: @dark -color;
}
header, footer {
background-color:
@dark
-color;
color: @light
-color;
}
main {
background: @light -color;
}
nav, aside {
background: @side
-color;
} |
Óï·¨Éϼ¸ºõÊÇÏàͬµÄ£¨±äÁ¿µÄ¶¨ÒåʹÓà @Ìæ´úÁË $£©£¬µ«ÊÇLessºÍCSSÒ»Ñù´øÓдóÀ¨ºÅºÍ·ÖºÅ£¬Ã»ÓÐSassÀý×ӵĴúÂë¿´ÆðÀ´Æ¯ÁÁ¡£È»¶ø£¬ºÍCSSÏà½üµÄÌØÐÔ·´¶øÈÿª·¢Õ߸üÈÝÒ×½ÓÊÜËü£¬ÔÚ2012Ä꣬LessʹÓÃÁËJavaScript£¨Node.js£©ÖØÐ´ÁËÌæ»»ÁËRuby£¬ÐÔÄÜÉϱÈRuby±àÒë¸ü¿ìÁË£¬²¢ÇҺܶàÔÚ¹¤×÷ÖÐʹÓÃÁËNode.jsµÄÈ˸üÈÝÒ×ÉÏÊÖÁË¡£
°ÑÕâ¶Î´úÂëת»¯Îª±ê×¼µÄCSS£¬ÄãÐèÒª°²×°Node.js ºÍ Less£¬Ö´ÐеÄÃüÁîÐÐÈçÏ£º
lessc index.less index.css |
Õâ¸öÃüÁî°Ñ index.lessÎļþÖеÄLessz´úÂëת»¯Îª±ê×¼µÄCSS´úÂëдÈëµ½ index.cssÎļþÖУ¬×¢ÒâlesscÃüÁî²»ÄܼàÌýÎļþµÄ±ä»¯£¨ºÍsass²»Ò»Ñù£©£¬ÕâÒâζ×ÅÄãÐèÒª°²×°ÆäËû×Ô¶¯¼àÌýºÍ±àÒëµÄ×é¼þÀ´ÊµÏָù¦ÄÜ£¬Ôö¼ÓÁËÁ÷³ÌµÄ¸´ÔÓÐÔ¡£Í¬Ñù£¬¶ÔÓÚ³ÌÐòÔ±À´ËµÊ¹ÓÃÃüÁîÐеķ½Ê½²¢²»ÄÑ£¬µ«ÊǶÔÓÚÆäËûÖ»ÏëʹÓÃCSSÔ¤±àÒëÆ÷µÄÈËÀ´Ëµ»¹ÊǸö·Ç³£´óµÄÕϰ¡£
¼³È¡ÁËLessµÄ¾Ñ飬Sass¿ª·¢ÕßÔÚ2010Äê·¢²¼ÁËÒ»¸öеÄÓï·¨½ÐSCSS£¨ÓëLessÀàËÆµÄÒ»¸öCSS³¬¼¯£©£¬Í¬Ê±·¢²¼ÁËLibSass£¬Ò»¸ö»ùÓÚC++À©Õ¹µÄRubyÒýÇæ£¬ÈñàÒë¸ü¿ì²¢ÇÒÊÊÅäÓÚ¶àÖÖÓïÑÔ¡£
ÁíÍâÒ»¸öCSSÔ¤´¦ÀíÆ÷ÊÇ2010Äê·¢²¼µÄStylus£¬Ê¹ÓÃNode.js±àд£¬ºÍSass»òÕßLessÏà±È¸ü×¢ÖØÓÚÇåÎúµÄÓï·¨¡£Í¨³£Ö÷Á÷µÄCSSÔ¤±àÒëÆ÷¾ÍÕâÈýÖÖ£¨Sass£¬Less£¬Stylus£©£¬ËûÃÇÔÚ¹¦ÄÜ·½Ãæ·Ç³£ÏàËÆ£¬ËùÒÔÄã²»±Øµ£ÐÄÑ¡ÔñÄÄÒ»¸ö»áÊÇ´íÎóµÄ¡£
È»¶ø£¬ÓÐЩÈËÈÏΪʹÓÃCSSÔ¤´¦ÀíÆ÷¿ªÊ¼±äµÃÔ½À´Ô½Ã»±ØÒª£¬ÒòΪä¯ÀÀÆ÷×îÖÕ»áÂýÂýʵÏÖÕâЩ¹¦ÄÜ£¨Ïñ±äÁ¿ºÍ¼ÆË㣩¡£´ËÍ⣬»¹ÓÐÒ»ÖÖ³ÆÎªCSSºó´¦ÀíÆ÷µÄ·½·¨£¬ÓпÉÄÜ»áÈÃCSSÔ¤´¦ÀíÆ÷¹ýʱ£¨ÏÔÈ»Õâ´æÔÚЩÕùÒ飩£¬ÎÒÃÇÔÚºóÃæ»áÏêϸ½éÉÜÏ¡£
ʹÓÃCSSºó´¦ÀíÆ÷µÄת»»¹¦ÄÜ
CSSºó´¦ÀíÆ÷ʹÓÃJavaScript·ÖÎö²¢×ª»»ÄãµÄCSSΪºÏ·¨CSS£¬´ÓÕâ·½ÃæÀ´¿´ºÍCSSÔ¤´¦ÀíÆ÷ºÜÏàËÆ£¬Äã¿ÉÒÔÈÏΪÊǽâ¾öͬһ¸öÎÊÌâµÄ²»Í¬·½Ê½¡£¹Ø¼üµÄ²»Í¬µãÊÇCSSÔ¤´¦ÀíÆ÷ʹÓÃÌØÊâµÄÓï·¨À´±ê¼ÇÐèҪת»»µÄµØ·½£¬¶øCSSºó´¦ÀíÆ÷¿ÉÒÔ½âÎöת»»±ê×¼µÄCSS£¬²¢²»ÐèÒªÈκÎÌØÊâµÄÓï·¨¡£¾ÙÒ»¸öÀý×ÓÀ´ËµÃ÷Ï£¬ÎÒÃÇÓÃ×î³õ¶¨ÒåµÄheader±êÇ©ÑùʽÀ´¿´Ò»Ï°ɣº
h1, h2, h3, h4, h5, h6 {
**-ms-hyphens: auto;
-moz-hyphens: auto;
-webkit-hyphens: auto;**
hyphens: auto;
} |
´ÖÌ岿·ÖµÄÊôÐÔ³ÉΪ³§ÉÌǰ׺£¬³§ÉÌǰ׺ÊÇä¯ÀÀÆ÷³§É̶ÔCSSй¦ÄܵÄʵÑéºÍ²âÊÔʹÓõģ¬ÔÚÕýʽʵÏÖǰÌṩ¸ø¿ª·¢ÕßʹÓÃCSSÐÂÊôÐÔµÄÒ»ÖÖ·½Ê½¡£
-ms´ú±íIEä¯ÀÀÆ÷£¬-mozÊÇ»ðºüä¯ÀÀÆ÷£¬ -webkitÊÇ»ùÓÚwebkitÄں˵Ää¯ÀÀÆ÷¡£
¶¨ÒåÕâЩ²»Í¬ä¯ÀÀÆ÷³§É̵Äǰ׺ÊôÐÔÊǷdz£·³È˵쬾¡Á¿Ê¹ÓÃÉú³É¹¤¾ß×Ô¶¯Ìí¼Ó³§ÉÌǰ׺¡£ÎÒÃÇ¿ÉÒÔʹÓÃCSSÔ¤´¦ÀíÆ÷À´Íê³ÉÕâ¸ö¹¦ÄÜ£¬ÀýÈ磬ÎÒÃÇ¿ÉÒÔÓÃSCSSÀ´ÊµÏÖ£º
@mixin
hyphens($value) {
-ms-hyphens: $value;
-moz-hyphens: $value;
-webkit-hyphens: $value;
hyphens: $value;
}
h1, h2, h3, h4, h5, h6 {
@include
hyphens(
auto
);
} |
Õâ¸öµØ·½Ê¹ÓÃÁËSassµÄ mixin ¹¦ÄÜ£¬Äã¿ÉÒÔ¶¨ÒåÒ»¸öCSS´úÂë¿éÈ»ºóÔÚÆäËûÈκεط½ÖØÓ㬵±Õâ¸öÎļþ±»±àÒë³É±ê×¼µÄCSSµÄʱºò£¬ËùÓеÄ
@includeÓï¾ä¶¼±»Ìæ»»³ÉÓë֮ƥÅäµÄ @mixinÖеÄCSS¡£×ÜÌåÀ´Ëµ£¬Õâ¸ö½â¾ö·½°¸Ò²²»²î£¬µ«ÊÇÄãÈÔȻҪΪÿ¸öÐèÒª³§ÉÌǰ׺µÄµÄCSSÊôÐÔ¶¨ÒåÒ»¸ömixin£¬ÕâЩmixinµÄ¶¨Ò彫ÐèÒª²»¶ÏµÄά»¤£¬±ÈÈçµ±ä¯ÀÀÆ÷Ö§³ÖÁËij¸öCSSÊôÐÔºóÄã¾ÍÒªÔÚÄãµÄ¶¨ÒåÖÐÒÆ³ýµô¸ÃÊôÐÔ¡£
±ÈÆðдmixinµÄ·½Ê½£¬Ö±½ÓÕý³£Ð´CSSÈ»ºóÓɹ¤¾ß×Ô¶¯Ê¶±ðÌí¼ÓÐèÒª³§ÉÌǰ׺µÄÊôÐԵķ½Ê½ÏÔÈ»¸üÓÅÑÅЩ¡£CSSºó´¦ÀíÆ÷¾ÍÇ¡ºÃÄÜÍê³ÉÕâÑùµÄ¹¦ÄÜ¡£±ÈÈ磬Èç¹ûÄãʹÓÃ
PostCSS ºÍ autoprefixer ²å¼þ£¬Äã¾Í¿ÉÒÔÖ±½ÓдÕý³£µÄCSS²¢²»ÐèÒªÖ¸¶¨ä¯ÀÀÆ÷³§ÉÌǰ׺£¬Ê£ÏµĹ¤×÷È«½»¸øºóÖô¦ÀíÆ÷È¥´¦Àí£º
h1, h2, h3, h4, h5, h6 {
hyphens:
auto
;
} |
µ±ÄãʹÓÃCSSºó´¦ÀíÆ÷ÔËÐÐÕâ¶Î´úÂëµÄʱºò hyphens:auto; ½«±»Ìæ»»³É°üº¬ËùÓÐä¯ÀÀÆ÷³§ÉÌǰ׺µÄÊôÐÔ£¬ÕâÒâζ×ÅÄã¿ÉÒÔÕý³£Ð´CSS²»Óõ£Ðĸ÷ÖÖä¯ÀÀÆ÷¼æÈÝÐÔÎÊÌ⣬Æñ²»ÊǺܰô£¡
³ýÁËPostCSSµÄ autoprefixer²å¼þ»¹ÓкܶàÓÐÒâ˼µÄ²å¼þ£¬cssnext ²å¼þ¿ÉÒÔÈÃÄãÌåÑéÏÂһЩʵÑéÐÔÖʵÄCSSй¦ÄÜ£¬CSS
modules ¿ÉÒÔ×Ô¶¯¸Ä±äclassµÄÃû×Ö±ÜÃâÃû³Æ³åÍ»£¬stylelint Äܼì²é³öÄãCSS´úÂëÖÐһЩ¶¨Òå´íÎóºÍ²»·ûºÏ¹æ·¶µÄд·¨¡£ÕâЩ¹¤¾ßÔÚ¹ýÈ¥Ò»Á½ÄêÀ↑ʼÁ÷ÐÐÆðÀ´£¬¸ø¿ª·¢ÕßÌṩÁË´ÓδÓйýµÄ¹¤³Ì»¯Á÷³Ì¡£
È»¶ø£¬½ø³ÌµÄ·¢Õ¹×ÜÊÇÓдú¼ÛµÄ£¬°²×°ºÍʹÓÃCSSºó´¦Àí±ÈCSSÔ¤´¦ÀíÆ÷¸ü¸´ÔÓ¡£Äã²»½öÒª°²×°¡¢Ö´ÐÐÃüÁîÐУ¬»¹ÐèÒª°²×°ÅäÖø÷¸ö²å¼þ²¢ÇÒ¶¨ÒåºÃ¸÷ÖÖ¸´ÔӵĹæÔò£¨±ÈÈçÄãµÄÄ¿±êä¯ÀÀÆ÷µÈ£©¡£ºÜ¶à¿ª·¢Õß²»ÔÙÖ±½ÓʹÓÃÃüÁîÐÐÔËÐÐPostCSSÁË£¬¶øÊÇͨ¹ýÅäÖÃһЩ¹¹½¨ÏµÍ³£¬ÏñGrunt
¡¢Gulp ¡¢webpack£¬ËûÃÇ¿ÉÒÔ°ïÖúÄã¹ÜÀíǰ¶Ë¿ª·¢¹¤×÷ÖÐÐèÒªµÄ¸÷ÖÖ¹¹½¨¹¤¾ß¡£
ÖµµÃ×¢ÒâµÄÊǶÔÓÚCSSºó´¦ÀíÆ÷´æÔÚЩÕùÒ飬ÓÐÈËÈÏΪÕâ¸öÊõÓïÓÐЩÈÃÈËÃÔ»ó£¨Ò»ÖÖ˵·¨Êǽ¨Òé¶¼Ó¦¸Ã½ÐCSSÔ¤´¦ÀíÆ÷£¬»¹ÓÐÒ»ÖÖ˵·¨ÊÇÓ¦¸Ã¶¼¼ò³ÆCSS´¦ÀíÆ÷£¬µÈµÈ£©£¬ÓÐÈËÈÏΪÓÐÁËCSSºó´¦ÀíÆ÷ÍêÈ«¿ÉÒÔ²»ÐèÒªCSSÔ¤´¦ÀíÆ÷£¬ÓÐÈËÔòÖ÷ÕÅÁ½ÕßÒ»ÆðʹÓᣲ»¹ÜÔõô˵£¬È¥Á˽âÏÂCSSºó´¦ÀíÆ÷µÄʹÓû¹ÊǷdz£ÖµµÃµÄ¡£

ʹÓÃCSSÉè¼ÆÄ£Ê½
CSSÔ¤´¦ÀíÆ÷ºÍCSSºó´¦ÀíÆ÷ÈÃCSS¿ª·¢ÌåÑéÓÐÁ˾޴óµÄÌáÉý£¬µ«Êǵ¥¿¿ÕâЩ¹¤¾ß»¹²»×ãÒÔ½â¾öά»¤´óÐÍÏîÄ¿CSS´úÂëµÄÎÊÌ⡣ΪÁ˽â¾öÕâ¸öÎÊÌ⣬ÈËÃDZàдÁËһЩ¹ØÓÚÈçºÎдCSSµÄÖ¸µ¼·½Õ룬ͨ³£±»³ÆÎªCSS¹æ·¶¡£
ÔÚÎÒÃÇÉîÈë·ÖÎöCSS¹æ·¶Ç°£¬Ê×ÏÈÒª¸ãÇå³þÊÇʲôÈÃCSSËæ×Åʱ¼äÍÆÒÆ±äµÃ¸ü¼ÓÄÑά»¤£¬¹Ø¼üµãÊÇCSSÊÇÈ«¾ÖÐԵġª¡ªÄ㶨ÒåµÄÿ¸öÑùʽ¶¼»áÈ«¾ÖÓ¦Óõ½Ò³ÃæµÄÿ¸ö²¿·Ö£¬ÓÃÒ»¸öÃüÃûÔ¼¶¨À´±£Ö¤classÃû³ÆµÄΨһÐÔ»òÕßÓÐÌØÊâµÄ¹æÔòÀ´¾ö¶¨Ö¸¶¨ÑùʽӦÓõ½Ö¸¶¨ÔªËØ¡£CSS¹æ·¶ÌṩÁËÒ»¸öÓÐ×éÖ¯ÐԵķ½Ê½À´±ÜÃâ´óÁ¿´úÂëʱ³öÏÖµÄÕâЩÎÊÌ⣬ÈÃÎÒÃǰ´ÕÕʱ¼ä˳ÐòÀ´¿´¿´Ö÷Á÷µÄһЩ¹æ·¶°É
OOCSS
OOCSS£¨ÃæÏò¶ÔÏóµÄCSS£©ÊÇÔÚ2009ÄêÊ×´ÎÌá³öµÄ£¬ËüÊÇÎ§ÈÆÁ½¸öÔÔò½¨Á¢µÄ¹æ·¶¡£µÚÒ»¸öÔÔòÊǽṹºÍÑùʽ·ÖÀ룬ÕâÒâζ×Ŷ¨Òå½á¹¹£¨²¼¾Ö£©µÄCSS²»Ó¦¸ÃºÍ¶¨ÒåÑùʽ£¨ÑÕÉ«¡¢×ÖÌåµÈ£©µÄCSS»ìÔÓÔÚÒ»Æð£¬ÕâÑùÎÒÃǾͿÉÒԺܼòµ¥µÄΪһ¸öÓ¦Óö¨ÒåÐÂµÄÆ¤·ôÁË£»µÚ¶þ¸öÔÔòÊÇÈÝÆ÷ºÍÄÚÈÝ·ÖÀ룬°ÑÔªËØ¿´³ÉÊÇÒ»¸ö¿ÉÖØÓõĶÔÏ󣬹ؼüºËÐĵãÊÇÒ»¸ö¶ÔÏó²»¹ÜÓÃÔÚÒ³ÃæµÄÈκÎλÖö¼Ó¦¸Ã¿´ÆðÀ´ÊÇÏàͬµÄ¡£
OOCSSÌṩÁ˳ÉÊìµÄÖ¸µ¼¹æ·¶£¬µ«ÊǶÔÓÚ¾ßÌåµÄÖ´Ðй淶²¢Ã»ÓÐÃ÷È·Ö¸³ö¡£ºóÀ´³öÏÖµÄSMACSS²ÉÓÃÁËËüµÄºËÐĸÅÄ²¢ÇÒÌí¼ÓÁ˸ü¶àµÄϸ½Ú£¬Ê¹ÓÃÆðÀ´¸ü¼òµ¥ÁË¡£
SMACSS
SMACSS£¨¿ÉÀ©Õ¹Ä£¿é»¯¼Ü¹¹µÄCSS£©ÊÇÔÚ2011Äê³öÏÖµÄÒ»ÖÖÉè¼ÆÄ£Ê½£¬Ëü½«CSS·ÖΪ5¸ö²»Í¬µÄÀà±ð¡ª¡ª»ù±¾¹æ·¶¡¢²¼¾Ö¹æ·¶¡¢Ä£¿é¡¢×´Ì¬¹æ·¶ºÍÑùʽ¹æ·¶¡£SMACSSÒ²ÓÐÒ»Ð©ÍÆ¼öµÄÃüÃû¹æÔò£¬¶ÔÓÚ²¼¾Ö¹æ·¶Ê¹ÓÃ
l-»òÕß layout- ×÷Ϊǰ׺£»¶ÔÓÚ״̬¹æ·¶£¬Ê¹Óà is-hidden »òÕß is-collapsed
×÷Ϊǰ׺¡£
Ïà±ÈOOCSS£¬SMACSSÓÐÁ˸ü¶àϸ½ÚÉϵĹ淶£¬µ«ÊÇCSS¹æÔò¸Ã»®·ÖΪÄÄÒ»Àà±ðµÄ¹æ·¶ÖУ¬ÕâÊǸöÐèÒª×Ðϸ¿¼ÂǵÄÎÊÌâ¡£ºóÀ´³öÏÖµÄBEM¶ÔÕâÒ»·½Ãæ½øÐÐÁ˸Ľø£¬ÈÃËü¸üÒ×ʹÓÃÁË¡£
BEM
BEM (¿é, ÔªËØ, ÐÞÊηû)ÊÇÔÚ2010Äê³öÏֵĹ淶£¬ËüµÄ˼ÏëÖ÷ÒªÊÇÎ§ÈÆ°ÑÓû§½çÃæÇзֳɶÀÁ¢µÄ¿é¡£¿éÊÇÒ»¸ö¿ÉÖØÓõÄ×é¼þ£¨¾Ù¸öÀý×ÓÏñ±íµ¥ËÑË÷£¬¿ÉÒÔÕâÑù¶¨Òå
<formclass="search-form"></form>£©£¬ÔªËØÊÇ¿éµÄÒ»²¿·Ö²»Äܵ¥¶ÀÖØÓ㨱ÈÈç±íµ¥ËÑË÷ÖеÄbutton£¬
<buttonclass="search-form__button">Search</button>£©£¬ÐÞÊηûÊǶ¨ÒåÁË¿é»òÕßÔªËØÍâ¹Û¡¢×´Ì¬»òÕßÐÐΪµÄʵÌ壨±ÈÈç½ûÓÃËÑË÷°´Å¥£¬¶¨ÒåΪ
<buttonclass="search-form__button search-form__button--disabled">Search</button>£©¡£
BEMµÄ¹æ·¶ºÜÈÝÒ×Àí½â£¬¶ÔÓÚÐÂÊÖÀ´ËµÃüÃû¹æÔòÉÏÒ²ºÜÓѺã¬È±µã¾ÍÊÇ¿ÉÄܻᵼÖÂclassÃû×ַdz£³¤£¬²¢ÇÒûÓÐ×ñÑ´«Í³µÄÃüÃû¹æ·¶¡£ºóÀ´³öÏÖµÄAtomic
CSSÓÖ°ÑÕâ¸ö·Ç´«Í³·½Ê½´øµ½ÁËÒ»¸öеĸ߶ȡ£
Atomic CSS
Atomic CSS (Ò²³ÆÎª ¹¦ÄÜÐÔCSS)ÊÇ2014Äê³öÏÖµÄÒ»¸ö¹æ·¶£¬ËüµÄ˼ÏëÊÇ»ùÓÚ¿ÉÊÓ»¯µÄ·½·¨´´½¨Ð¡¶ø¹¦Äܵ¥Ò»»¯µÄclass¡£ÕâÖֹ淶ÓëOOCSS¡¢SMACSSºÍBEMÍêÈ«Ïà·´¡ª¡ªËü²¢²»ÊǰÑÒ³ÃæÉϵÄÔªËØ¿´×öÊÇ¿ÉÖØÓõĶÔÏó£¬Atomic
CSSºöÂÔµôÁËÕâЩ¶ÔÏó£¬Ã¿Ò»¸öÔªËØÊ¹ÓÃÁË¿ÉÖØÓõĵ¥Ò»¹¦ÄܵÄclassÑùʽ¼¯ºÏ¡£Òò´ËÏñ <buttonclass="search-form__button">Search</button>¾Í±»Ìæ»»³ÉÕâÑùµÄд·¨ÁË
<buttonclass="f6 br3 ph3 pv2 white bg-purple
hover-bg-light-purple">Search</button>
Èç¹ûÄã¿´µ½Õâ¸öÀý×ÓµÚÒ»·´Ó¦ÊDZ»ÏŵÄÍËËõÁË£¬Ã»¹ØÏµÄã²¢²»ÊÇΨһÓÐÕâÏë·¨µÄÈË¡ª¡ªºÜ¶àÈËÈÏΪÕâÖÖ·½Ê½ÍêȫΥ±³ÁËCSSµÄ×î¼Ñʵ¼ù£¬µ«ÊÇ£¬¹ØÓÚÕâ¸öÓÐÕùÒéµÄ¹æ·¶ÔÚ²»Í¬³¡¾°ÏµÄÓ¦ÓÃÒ²²ú³öÁËһϵÁо«²ÊµÄÌÖÂÛ¡£ÕâÆªÎÄÕºÜÇåÎúµÄ·ÖÎöÁË´«Í³µÄ·ÖÀë˼ÏëÊÇCSSÒÀÀµÓÚHTML´´½¨£¨¼´Ê¹Ê¹ÓÃÏñBEMÕâÀàµÄ¹æ·¶£©£¬¶øAtomicµÄ·½Ê½ÊÇHTMLÒÀÀµÓÚCSS´´½¨£¬Á½Õß¶¼Ã»´í£¬µ«ÊÇ×ÐϸÏëÏëÄã»á·¢ÏÖCSSºÍHTML³¹µ×·ÖÀëµÄÏë·¨ÊÇʵÏÖ²»Á˵ġ£
ÆäËûµÄCSSÉè¼ÆÄ£Ê½£¬ÏñCSS in JSÆäʵҲ°üº¬ÁËCSSºÍHTMLÏ໥ÒÀÀµµÄ˼Ï룬ÕâÒ²³ÉΪÁËÒ»¸ö±¥ÊÜÕùÒéµÄÉè¼Æ¹æ·¶Ö®Ò»¡£
CSS in JS
CSS in JS ÊÇ2014ÄêÍÆ³öµÄÒ»ÖÖÉè¼ÆÄ£Ê½£¬ËüµÄºËÐÄ˼ÏëÊǰÑCSSÖ±½Óдµ½¸÷×Ô×é¼þÖУ¬¶ø²»Êǵ¥¶ÀµÄÑùʽÎļþÀï¡£ÕâÖÖ·½Ê½ÔÚReact¿ò¼ÜÖÐÒýÈëµÄ£¬×îÔçÊÇʹÓÃÄÚÁªÑùʽ£¬ºóÀ´ÓÖ½ø»¯³ÉÁËʹÓÃJavaScriptÉú³ÉCSSÈ»ºó²åÈëµ½Ò³ÃæµÄstyle±êÇ©Öеķ½Ê½¡£
CSS in JSÔÙÒ»´ÎÎ¥±³ÁËCSSÖйØÓÚ·ÖÀëµÄ×î¼Ñʵ¼ù£¬Ö÷ÒªÔÒòÊÇwebËæ×Åʱ¼äÍÆÒÆ·¢ÉúÁ˺ܴóµÄ±ä»¯¡£×î³õweb´ó²¿·Ö¶¼ÊǾ²Ì¬ÍøÕ¾¡ª¡ªÕâÖÖÇé¿öÏÂHTMLÄÚÈݺÍCSS±íÏÖ·ÖÀëÊǺÜÓÐÒâÒåµÄ£¬µ«ÏÖÔڴ󲿷ÖÓ¦Óö¼ÊǶ¯Ì¬web¹¹½¨¡ª¡ªÕâÖÖÇé¿öÏ¿ÉÖØÓõÄ×é¼þ¸ü¼ÓÓÐÒâÒåÁË¡£
CSS in JSÉè¼ÆµÄÄ¿±êÊǶ¨Òå±ß½çÇåÎú°üº¬×Ô¼ºHTML/CSS/JSµÄ¶ÀÁ¢×é¼þ£¬²¢ÇÒ²»ÊÜÆäËû×é¼þµÄÓ°Ïì¡£ReactÊÇ×îÔç²ÉÓÃÕâÖÖ˼ÏëµÄ¿ò¼Ü£¬ºóÐøÒ²Ó°Ïìµ½ÁËÆäËû¿ò¼ÜÏñAngular¡¢EmberºÍVue.js¡£ÐèҪעÒâµÄÊÇCSS
in JSµÄģʽÏà¶ÔÀ´Ëµ±È½ÏÐµģ¬¿ª·¢ÈËÔ±ÕýÔÚ²»¶ÏµÄ³¢ÊÔ¿ª·¢webÓ¦ÓÃ×é¼þʱµÄһЩCSS×î¼Ñʵ¼ù¡£
Î廨°ËÃŵÄÉè¼ÆÄ£Ê½ºÜÈÝÒ×ÈÃÄã²»ÖªËù´ë£¬×îÖØÒªµÄ¼Çסһµã¡ª¡ªÃ»ÓÐÒøµ¯¡£
½áÂÛ
¼ò¶øÑÔÖ®Õâ¾ÍÊÇÏÖ´úCSS¡£ÎÒÃǽéÉÜÁËCSS»ù±¾ÅŰæÑùʽ£¬¸¡¶¯²¼¾Ö¡¢flexboxºÍgrid²¼¾Ö£¬Á˽âÁËCSSÔ¤´¦ÀíÆ÷ΪCSSÌṩµÄÐÂÓï·¨£¬±ÈÈç±äÁ¿ºÍmixins£¬»¹Á˽âÁËCSSºó´¦ÀíÆ÷µÄת»»¹¦ÄÜ£¬Ïñ¸øCSSÌí¼Ó³§ÉÌǰ׺£¬²¢ÇÒʹÓÃCSSµÄһЩÉè¼ÆÄ£Ê½¿Ë·þÁËÈ«¾ÖCSSµÄһЩÎÊÌâ¡£ÔÚÕâÀïÎÒÃÇûÓÐʱ¼äÈ¥ÍÚ¾ò¸ü¶àCSSÆäËû¹¦ÄÜÁË£¬CSS¸²¸ÇÃæÌ«¹ãÁË¡ª¡ªÈκÎÒ»¸ö˵Ëü¼òµ¥µÄÈË¿ÉÄÜÖ»ÊǶÔËüÒ»Öª°ë½â°É£¡
ÏÖ´úCSSµÄ¶à±äºÍ¿ìËÙ·¢Õ¹¶àÉÙÈÃÈ˸е½ÓÐЩ¾ÚÉ¥£¬µ«ÊÇÖØÒªµÄÊÇÒª¼ÇסwebËæ×Åʱ¼äÍÆÒÆ½ø»¯µÄÀúÊ·±³¾°£¬²¢ÇÒÓÐһȺ´ÏÃ÷µÄÈËÔ¸ÒâΪCSSÏò¸üºÃµÄ·½ÏòµÄ½ø»¯È¥´´½¨Ò»Ð©¹¤¾ßºÍÖ¸µ¼¹æ·¶¡£×÷ΪһÃû¿ª·¢ÕßÊÇÒ»¼þÐÒÔ˵ÄÊÂÇ飬ÎÒÏ£ÍûÕâÆªÎÄÕÂÌṩµÄÐÅÏ¢ÄÜ×÷Ϊһ¸ö·Ïßͼ°ïÖúÄã¸üºÃµÄ³©ÐÐÔÚCSS·³ÌÖУ¡

|