鏈€杩戞湁涓€涓潪甯告尟濂嬩汉蹇冪殑娑堟伅锛孋SS鍗冲皢鍘熺敓鏀寔宓屽鈥斺€擜genda+鍙戝竷浜哊esting鐨凢PWD锛岄绀虹潃CSS宓屽瑙勮寖鍗冲皢杩涘叆瑙勮寖鐨凢WPD闃舵銆傜洰鍓嶅搴旂殑瑙勮寖鏄€斺€擟SSNestingModule銆傞殢鐫€CSS鑷畾涔夊睘鎬э紙CSSVariable锛夌殑澶ц妯″吋瀹癸紝CSS鍗冲皢鏀寔宓屽锛屼竴浜涢澶勭悊鍣ㄧ殑鏍稿績鍔熻兘宸茬粡琚獵SS鍘熺敓鏀寔銆傝繖鏄惁鎰忓懗鐫€鍍廠ASS/LESS杩欐牱鐨勯澶勭悊鍣ㄥ氨娌$敤浜嗭紵锛熷嵆灏嗚娣樻卑锛熻鑼冪殑鍑犱釜闃舵棣栧厛绠€鍗曚粙缁嶄竴涓嬩竴涓鑼冧粠鎻愯鍒板疄鏂戒細缁忓巻鐨勯樁娈碉細Editor'sDraft(ED)WorkingDraft(WD)Transition-LastCallWorkingDraft(LCWD)CandidateRecommendation(CR)TransitionProposedRecommendationTransition鈥揚roposedRecommendations(PR)RecommendedStandardRecommendation(REC)濡備笂鎵€杩帮紝瀹冨嵆灏嗚繘鍏PWD锛屼絾瀹冨彧鏄湪瑙勮寖WD闃舵鐨勭浜岄樁娈碉紝FPWD琛ㄧずFirstPublicWorkingDraft(FPWD)銆侳PWD涔嬪悗灏嗘湁鍑犱釜宸ヤ綔鑽夋锛屽鐞嗘潵鑷狢SSWG鍐呭鏇村箍娉涚ぞ缇ょ殑鍙嶉銆傚畬鍠勭殑鏍囧噯鍖栬璁°€備篃灏辨槸璇达紝鐩墠鏉ョ湅锛屽嵆渚垮悗缁繃绋嬮『鍒╋紝浣嗚窛绂绘祻瑙堝櫒澶ц妯¤惤鍦拌鑼冪殑閭d竴澶╋紝杩樻湁寰堥暱涓€娈垫椂闂淬€傚彟澶栵紝鎴戣寰楀儚SASS\LESS杩欐牱鐨勯澶勭悊鍣ㄦ湁涓€浜涙湁瓒g殑鍔熻兘锛坒unctions锛夛紝鍗充娇鍦ㄥ師鐢烠SS鏀寔鑷畾涔夊睘鎬у拰宓屽涔嬪悗锛岃繖浜涘姛鑳借繕鏄湁鎵€娆犵己銆傛垜绠€鍗曞垪涓句竴涓嬫垜鐨勭湅娉曘€俧or()寰幆鍑芥暟鐩墠锛屽師鐢烠SS杩樹笉鏀寔寰幆鍑芥暟銆備絾瀹為檯涓婏紝鍦ㄩ澶勭悊鍣ㄤ腑锛屽惊鐜粛鐒舵槸涓€涓瘮杈冨父鐢ㄧ殑鍑芥暟銆傝€冭檻濡備笅甯冨眬锛歶l涓嬫湁澶氫釜li锛屾瘡涓猯i鐨勯珮搴﹀鍔?0px銆傚綋鐒朵篃鍙互涓€涓竴涓啓锛屼絾鏄湁涓惊鐜叾瀹炲彲浠ュぇ澶у噺灏戝伐浣滈噺锛?ul>
濡傛灉娌℃湁棰勫鐞嗗櫒锛屾垜浠殑CSS鍙兘鐪嬭捣鏉ュ儚杩欐牱锛歶l{display:flex;瀵归綈椤圭洰锛氬熀绾匡紱璇佹槑鍐呭锛氱┖鏍间箣闂达紱}li{瀹藉害锛?0px锛沚ackground:#000;}li:nth-child(1){height:20px;}li:nth-child(2){height:40px;}//...3~9li:nth-child(10){height:200px;}濡傛灉浣跨敤SASS棰勫鐞嗗櫒锛屽彲浠ョ畝鍖栦负锛歶l{display:flex;瀵归綈椤圭洰锛氬熀绾匡紱璋冩暣鍐呭锛氱┖鏍硷紱}li{瀹藉害锛?0px;鑳屾櫙锛?000;}@for$i浠?鍒?0{li:nth-child(#{$i}){height:calc(#{$i}*20px);}}褰撶劧锛岄櫎姝や箣澶栵紝寰幆鏄緢澶氬鏉傜殑CSS鍔ㄧ敾鏁堟灉涓潪甯搁潪甯稿父鐢ㄧ殑涓€涓姛鑳姐€傛瘮濡備竴浜涚矑瀛愬姩鐢伙紝鎴戜滑閫氬父闇€瑕佹搷浣?0-100涓矑瀛愶紝涔熷氨鏄?0-100涓猟iv鏍峰紡锛岀敋鑷虫洿澶氥€傚鏋滄病鏈夊惊鐜紝涓€鏉℃潯鍐欑殑鏁堢巼浼氬ぇ澶ч檷浣庛€傛紨绀轰娇鐢ㄩ澶勭悊鍣ㄥ惊鐜嚱鏁板疄鐜扮殑涓€浜涙晥鏋溿€備笅闈㈡垜绠€鍗曠綏鍒椾竴浜涙垜鑷繁瀹炵幇骞跺簲鐢ㄤ簬CSS棰勫鐞嗗櫒寰幆鍔熻兘鐨勫姩鐢绘晥鏋溿€傚儚涓婇潰浣跨敤绾疌SS瀹炵幇鐨勭伀鐒版晥鏋滐紝鐏劙鐨勫姩鎬佺噧鐑ф晥鏋溿€傚叾瀹炴槸閫氳繃澶ч噺寰矑瀛愮殑杩愬姩鍜岃繃婊ゅ櫒鐨勯厤鍚堟潵瀹炵幇鐨勩€備娇鐢ㄤ簡SASS寰幆鍑芥暟鐨勪竴涓墖娈碉細@for$ifrom1to200{.g-ball:nth-child(#{$i}){$width:#{random(50)}px;瀹藉害锛?瀹藉害锛涢珮搴︼細$瀹藉害锛涘乏锛歝alc(#{(random(70))}px-55px);}.g-ball:nth-child(#{$i}){鍔ㄧ敾锛歮ovetop1slinear-#{random(3000)/1000}sinfinite;}}濂藉惂锛屼笂闈㈢殑寰幆寰幆浜?00娆★紝濡傛灉鐪熻涓€涓竴涓啓锛屽伐浣滈噺杩樻槸寰堝ぇ鐨勩€備笂杩版晥鏋滅殑瀹屾暣浠g爜鍙互鐐瑰嚮杩欓噷锛欳odePenDemo--CSSCandlesif()鏉′欢璇彞涓嬩竴涓槸if()鏉′欢璇彞銆傚叾瀹濩SS涓湁涓€绉嶅啓娉曞拰鏉′欢璇彞寰堢浉浼硷紝灏辨槸mediaquery@media鍜宖eaturedetection@supports璇彞銆傜洰鍓岰SS鏀寔鐨勭被浼兼潯浠堕€夋嫨鐨勪竴浜涘啓娉曞涓嬶細@support鏉′欢璇彞CSS@supports浣跨敤CSS璇硶瀹炵幇鐗瑰緛妫€娴嬶紝鍦–SS鍧楀唴閮ㄥ啓涓婂鏋滅壒寰佹娴嬮€氳繃浣犺瀹炵幇鐨凜SS璇彞.div{浣嶇疆锛氬浐瀹氾紱}@supports锛堜綅缃細绮樻€э級{div{浣嶇疆锛氱矘鎬э紱}}涓婅堪CSS璇彞鐨勬剰鎬濇槸锛屽鏋滃鎴风鏀寔position:sticky锛屽垯浣跨敤position:sticky锛屽惁鍒欎娇鐢╬osition:fixed銆傛繁鍏ユ帰璁–SS鐗瑰緛妫€娴嬪彲浠ョ湅鎴戠殑鏂囩珷锛氭繁鍏ユ帰璁–SS鐗瑰緛妫€娴婡supports鍜孧odernizr@media鏉′欢璇彞鍙﹀涓€涓父瑙佺殑鏉′欢璇彞鏄痬ediaquery锛屽ぇ瀹惰繕鏄瘮杈冪啛鎮夌殑銆傚鏋滃綋鍓嶈澶囨弧瓒虫煇涓潯浠讹紝閭d箞濡備綍婊¤冻銆俛rticle{padding:4rem;}@mediascreenand(min-width:900px){article{padding:1rem3rem;}}鍡紝浠ヤ笂涓や釜鏉′欢璇彞鍙互鐩镐簰宓屽锛欯supports(display:flex){@mediascreenand(min-width:900px){article{display:flex;鐒惰€岋紝浠ヤ笂涓や釜姣曠珶涓嶆槸鎴戜滑涓ユ牸鎰忎箟涓婃湡鏈涚殑if()璇彞銆傚緢鏃╀互鍓嶏紝绀惧尯閲屾湁涓€涓0闊筹紙css-values-if()鍑芥暟锛夛紝鎻愯鍦–SS瑙勮寖涓疄鐜癷f()鏉′欢璇彞锛岀被浼艰繖鏍凤細.foo{--calc:璁$畻(10*(1vw+1vh)/2);font-size:if(var(--calc)<12px,12px,var(--calc));}浣犲彲浠ョ湅鍒拌繖鏉¤鍙f(var(--calc)<12px,12px,var(--calc))绫讳技浜庝笁鍏冭鍙ワ紝姣旇緝瀹规槗鐞嗚В銆備笉杩囦笂闈㈢殑鏉′欢璇彞涓€鐩翠笉琚敮鎸佺殑鍘熷洜锛屽彲浠ュ湪scss-values-if()鍑芥暟涓瑙佷竴鏂戙€傚師鍥犳槸CSS涓€鐩磋瘯鍥鹃伩鍏嶅睘鎬т箣闂寸殑浠绘剰渚濊禆銆傚湪CSS涓紝灞炴€т箣闂村瓨鍦ㄤ竴浜涢殣鍚殑渚濊禆鍏崇郴锛屾瘮濡俥m鍗曚綅闀垮害鍙楃埗鍏冪礌font-size鐨勫奖鍝嶏紝濡傛灉浣滆€呭彲浠ヤ换鎰忔坊鍔犱緷璧栧叧绯伙紙閫氳繃if()鏉′欢璇彞锛夛紝浼氶€犳垚涓€浜涢棶棰樸€傝瘧鏂囨槸锛氫笉骞哥殑鏄紝杩欐剰鍛崇潃鎴戜滑鍦ㄥ睘鎬т箣闂存坊鍔犱换鎰忎緷璧栧叧绯伙紝鍒扮洰鍓嶄负姝㈡垜浠竴鐩撮伩鍏嶈繖鏍峰仛锛屽洜涓哄畠閫氬父鏄笉鍙В鏋愮殑銆傝嚜瀹氫箟灞炴€у彲浠ヤ换鎰忕浉浜掑紩鐢紝浣嗗畠浠湪瀹冧滑鐨勪綔鐢ㄤ笂鏄湁闄愮殑鍙互鍋氬埌锛屽苟涓斿綋鎴戜滑娉ㄦ剰鍒颁竴涓惊鐜椂锛屾湁涓€绉嶆湁鐐瑰悎鐞嗙殑鈥滃彧鏄彉寰楁棤鏁堚€濈殑琛屼负銆傚浜庝换鎰廋SS锛屽惊鐜洿闅剧‘瀹氾紝鑰屼笖鏇村鏄撳彂鐢燂紝鍥犱负瀛樺湪璁稿鐜版湁鐨勩€侀殣寮忕殑灞炴€ч棿渚濊禆鍏崇郴銆備緥濡傦紝浠讳綍闇€瑕侀暱搴︾殑涓滆タ閮戒緷璧栦簬font-size锛堢敱浜巈m锛夛紝鎵€浠ヤ綘涓嶈兘鍦╢ont-size涓湁涓€涓€兼潵寮曠敤涓€涓渶瑕侀暱搴︾殑灞炴€э紙鎵€浠ユ病鏈夎皟鏁磃ont-size鏉ョ缉鏀炬湁瀹藉害锛侊級銆傞殢鐫€鏃堕棿鐨勬帹绉伙紝鎴戜滑浼氭坊鍔犳绫绘柊鐨勪緷璧栭」锛堜緥濡傛坊鍔爈h鍗曞厓锛岃繖浼氬鑷村琛岄珮鐨勪緷璧栭」锛夛紱濡傛灉浣滆€呭彲浠ユ坊鍔犱换鎰忎緷璧栭」锛屾垜浠皢鏃犳硶娣诲姞鏂扮殑闅愬紡渚濊禆椤癸紝鍥犱负鎷呭績浼氱牬鍧廵xis鍐呭锛堥€氳繃褰㈡垚鍏堝墠鏈夋晥涓旈潪寰幆鐨勫惊鐜級銆傛墍浠SS涓洿鎺ョ殑if()璇彞骞舵病鏈夊疄鐜般€係ASS绛夐澶勭悊鍣ㄤ腑鐨刬f()璇彞鏈€鍚庢垜浠湅涓€涓嬮澶勭悊鍣ㄤ腑if()鐨勪娇鐢紝鍥犱负SASS绛夐澶勭悊鍣ㄨ繕鏄渶瑕佺紪璇戞垚CSS鏂囦欢锛屾墍浠f()鍏跺疄骞朵笉鏄緢甯哥敤銆傚洜涓篠ASS涓殑if()鏃犳硶瀹炵幇绫讳技浜庝笂闈㈡彁鍒扮殑font-size:if(var(--calc)<12px,12px,var(--calc))鐨勫姛鑳姐€傚湪SASS涓紝鎴戣涓烘渶甯哥敤鐨刬f()鍙兘鏄繖绉嶅満鏅細@mixintriangle($size,$color,$direction){height:0;瀹藉害锛?锛涜竟妗嗛鑹诧細閫忔槑锛涜竟妗嗘牱寮忥細瀹炲績锛涜竟妗嗗搴︼細$澶у皬锛汙if$direction==up{border-bottom-color:$color;}@elseif$direction==right{border-left-color:$color;}@elseif$direction==down{border-top-color:$color;}@elseif$direction==left{border-right-color:$color;}@else{@error鈥滄湭鐭ユ柟鍚?{$direction}銆傗€?}}.next{@includetriangle(5px,black,right);}浠ヤ笂浠g爜鏄涓夎褰SS瀹炵幇鐨勫皝瑁咃紝閫氳繃浼犲叆鐨勫弬鏁板彲浠ュ疄鐜颁笉鍚屾柟鍚戙€侀鑹层€佸ぇ灏忕殑涓夎褰篃灏辨槸璇达紝棰勫鐞嗗櫒涓殑if()鏇村鍦板畬鎴愪簡涓€浜涘姛鑳界殑灏佽锛屾柟渚垮鐢ㄣ€傚疄闄呬笂涓婇潰鐨勪唬鐮佷細琚紪璇戞垚锛?next{height:0;瀹藉害锛?锛涜竟妗嗛鑹诧細閫忔槑锛涜竟妗嗘牱寮忥細瀹炲績锛涜竟妗嗗搴︼細5px锛沚order-left-color:black;}Random()闅忔満鍑芥暟濂戒簡锛屾帴涓嬫潵灏辨槸闅忔満鍑芥暟锛岃繖鏄疭ASS绛夐澶勭悊鍣ㄤ腑鏈€甯哥敤鐨勫嚱鏁般€傜洰鍓嶆湰鏈篊SS涓嶆敮鎸佷换浣曞舰寮忕殑闅忔満鍖栥€傚湪CSS鍔ㄧ敾鏁堟灉涓紝鎴戜滑涓嶅笇鏈涘緢澶氬洜绱犳槸闈欐€佺殑銆傛垜浠笇鏈涚殑鏄垜浠瀹氫竴涓熀鏈殑瑙勫垯锛岃浠栦滑鍦ㄤ竴涓寖鍥村唴锛岃繖鏍锋瘡娆″埛鏂伴兘鑳戒骇鐢熶笉鍚岀殑鍊笺€傚奖鍝嶃€傛渶甯歌鐨勬槸涓嶅悓鐨勯鑹层€佷笉鍚岀殑闀垮害銆佷笉鍚岀殑鏁伴噺绛夌瓑銆備緥濡傦紝浣跨敤CSS瀹炵幇鐨勬晥鏋滃涓嬶細澶忔棩鏃ヨ惤鍥俱€傞€氳繃random锛屾垜浠彲浠ュ湪姣忔鍒锋柊鏃跺緱鍒颁笉鍚岄珮/瀹姐€佷笉鍚屼綅缃殑div鍧楋紝鍒╃敤闅忔満鐗规€х粯鍒跺嚭涓嶅悓鐨勬晥鏋滃浘锛欴EMO鈥斺€斿鏃ュ闃冲浘鐩墠涓嶆敮鎸佷换浣曞舰寮忕殑鍘熺敓CSSRandom銆備娇鐢ㄩ澶勭悊鍣ㄥ彧鑳藉湪缂栬瘧鍓嶇紪鍐欓殢鏈哄嚱鏁般€係ASS涓殢鏈哄嚱鏁扮殑涓€浜涘父鐢ㄥ啓娉曪細$r:random(100);random()鏄疭ASS鏀寔鐨勫嚱鏁般€備笂闈㈢殑$r鏄?鍒?00涔嬮棿鐨勯殢鏈烘暣鏁帮紝鍙互寰楀埌銆備娇鐢╮andom()鍙互灏佽鍚勭闅忔満鍑芥暟锛屾瘮濡傞殢鏈洪鑹诧細@functionrandomNum($max,$min:0,$u:1){@return($min+random($max))*$u;}@functionrandomColor(){@returnrgb(randomNum(255),randomNum(255),randomNum(255));}div{background:randomColor();}鍦ㄦ湰鏈篊SS涓疄鐜皉andom()鐨勪竴浜涙兂娉曞涓嬩互涓嬫槸绀惧尯瀵瑰湪鍘熺敓CSS涓疄鐜皉andom()鍑芥暟鐨勪竴浜涙兂娉曘€傛湁鍏磋叮鐨勫彲浠ョ寷鎴筹細[[css-values]random()function](https://github.com/w3c/csswg-...绠€鍗曟惉杩愪竴浜涙瘮杈冩湁鎰忔€濈殑瑙傜偣銆傚亣璁綜SS鍘熺敓瀹炵幇浜唕andom()鍑芥暟锛屼緥濡傦細