CSS|CSSμ?ê?°?°????é


    • ?-??×÷??£oRoger Johansson
    • ×÷???ò?é£o×??úèeμ???μ?±¤£?1994?ê?aê??ó′¥oí2?ó?webéè??£?456 Berea Streetê???μ?×??·£?òò′?2éó??a????×?×÷?a??μ???è??÷ò3óò??
    • ?-??3?′|£owww.456bereastreet.com
    • ?-??·¢±íê±??£o2005?ê3??15è?
    • °¢?Y?μ?÷£o′????-??"CSS tips and tricks"£?óD2?a£??ò???ü??o?2¢·-ò??ú±????D?£
  • CSS|CSSμ?ê?°?°????é
    文章图片

    ×??ü,?-3£óD?óó??ê?òò?D?1¤×÷?Dó?μ?μ?CSS?êìa?£????×üê?2??üoüo?μ?????CSS£?ó°?ìCSSμ?D§?ê·¢?ó?£?òà′·???×ü?áò???′í?ó?ù?ú£?°??ú′ó?ò?ü?óèYò×ê1ó?CSS?£
    ±???×ü?áá??ò?aê?ê1ó?CSS2???·?·¨ò?à′?ùóDμ????éoí??èY·?°?£??ò??òa°??aD?ó???·??í£??ò?á??μ??aêíò?D?D?ê?èYò×·?μ?′í?ó(°üà¨?ò×??oò2·?1yμ?)£?è?1???ò??-ê?CSS??ê?£??aD??-?é???é?é?üò??-???aμà£?è?1???óD?ü?àμ?£??£í??éò?°??ò213??£
    ò?.ê1ó?css??D′
    ê1ó???D′?éò?°??ú??éù??CSS???tμ?′óD?£??ü?óèYò×???á?£css??D′μ??÷òa1??ò??2??′??3£ó?css??D′ó?·¨×ü?á?·£??aà??í2??1?a?èê??£
    ?t.?÷è·?¨ò?μ¥??£?3y·??μ?a0
    íü???¨ò?3?′?μ?μ¥??ê?CSSD?ê???±éμ?′í?ó?£?úHTML?D???éò???D′width="100"£?μ?ê??úCSS?D£???±?D???ò???×?è·μ?μ¥??£?±èè?£owidth:100px width:100em?£??óDá???àyía?é???éò?2??¨ò?μ¥??£oDD??oí0?μ?£3y′?ò?ía£??????μ??±?D????úμ¥??£?×¢òa£?2?òa?úêy?μoíμ¥???????ó?????£
    èy.??·?′óD?D′
    μ±?úXHTML?Dê1ó?CSS£?CSSà??¨ò?μ??a????3?ê???·?′óD?D′μ??£?aá?±ü?a?a??′í?ó£??ò?¨òé?ùóDμ??¨ò???3???2éó?D?D′?£
    classoíidμ??μ?úHTMLoíXHTML?Dò2ê???·?′óD?D′μ?£?è?1???ò??¨òa′óD?D′?ìo?D′£???×D??è·è????úCSSμ??¨ò?oíXHTMLà?μ?±ê??ê?ò???μ??£
    ??.è???classoíid?°μ??a???T?¨
    μ±??D′??ò????a???¨ò?class?ò??id£????éò?ê????°??μ??a???T?¨£?òò?aID?úò???ò3??à?ê??¨ò?μ?£???clas s?éò??úò3???D?à′?ê1ó??£???T?¨?3???a??oá?Tòaò??£àyè?£odiv#content { /* declarations */ }
    fieldset.details { /* declarations */ }
    ?éò?D′3é#content { /* declarations */ }
    .details { /* declarations */ }
    ?a?ù?éò??úê?ò?D?×??ú?£
    ??.??è??μ
    í¨3£paddingμ???è??μ?a0£?background-colorμ???è??μê?transparent?£μ?ê??ú2?í?μ??ˉàà?÷??è??μ?é?ü2?í??£è?1???óD3?í?£??éò??ú?ùê?±íò??aê??í?è?¨ò??ùóD?a??μ?marginoípadding?μ???a0£??ó?a?ù£o* {
    margin:0;
    padding:0;
    }
    áù.2?Dèòa???′?¨ò??é?ì3Dμ??μ
    CSS?D£?×ó?a??×??ˉ?ì3D???a??μ?ê?D??μ£??ó??é??¢×?ì?μè£?ò??-?ú???a???D?¨ò?1yμ?£??ú×ó?a???D?éò??±?ó?ì3D£?2?Dèòa???′?¨ò??£μ?ê?òa×¢òa£??ˉàà?÷?é?üó?ò?D???è??μ?2????μ??¨ò??£
    ??.×??üó??è?-?ò
    è?1???í?ò????a??μ??¨ò?óD?à??£?ò?×??ó?ü(×?D?ò???)μ??¨ò??a×?ó??è£?àyè?óD?a?′ò???′ú??
    Update: Lorem ipsum dolor set
    ?úCSS???t?D£???ò??-?¨ò?á??a??p£?ó??¨ò?á?ò???class"update"p {
    margin:1em 0;
    font-size:1em;
    color:#333;
    }
    .update {
    font-weight:bold;
    color:#600;
    }
    ?aá????¨ò??D£?class="update"??±?ê1ó?£?òò?aclass±èp?ü?ü?£???éò?2é??W3Cμ??? Calculating a selector?ˉs specificity?· á??a?ü?à?£
    °?.?à??class?¨ò?
    ò???±ê???éò?í?ê±?¨ò??à??class?£àyè?£o?ò???è?¨ò?á????ùê?£?μúò????ùê?±3?°?a#666£?μú?t???ùê?óD10 pxμ?±??ò?£.one{width:200px; background:#666; }
    .two{border:10px solid #F00; }
    ?úò3??′ú???D£??ò???éò??a?ùμ÷ó?

    ?a?ù×???μ???ê?D§1?ê??a??div?èóD#666μ?±3?°£?ò2óD10pxμ?±??ò?£ê?μ?£??a?ù×?ê??éò?μ?£????éò?3¢ê?ò????£
    ??.ê1ó?×ó?????÷(descendant selectors)
    CSS3??§??2??aμàê1ó?×ó?????÷ê?ó°?ì????D§?êμ??-òò??ò??£×ó?????÷?éò?°??ú???ú??′óá?μ?class?¨ò??£?ò??à′?′?????a??′ú??£o






Item 1

Item 1




?a??′ú??μ?CSS?¨ò?ê?£odiv#subnav ul { /* Some styling */ }
div#subnav ul li.subnavitem { /* Some styling */ }
div#subnav ul li.subnavitem a.subnavitem { /* Some styling */ }
div#subnav ul li.subnavitemselected { /* Some styling */ }
div#subnav ul li.subnavitemselected a.subnavitemselected { /* Some styling */ }
???éò?ó?????μ?·?·¨ì?′úé???μ?′ú??


Item 1

Item 1

Item 1


?ùê??¨ò?ê?£o#subnav { /* Some styling */ }
#subnav li { /* Some styling */ }
#subnav a { /* Some styling */ }
#subnav .sel { /* Some styling */ }
#subnav .sel a { /* Some styling */ }
ó?×ó?????÷?éò?ê1??μ?′ú??oíCSS?ü?ó?ò?à?¢?ü?óèYò×???á?£
ê?.2?Dèòa??±3?°í????·???óòyo?
?aá??úê?×??ú£??ò?¨òé2?òa??±3?°í????·???óòyo?£?òò?aòyo?2?ê?±?D?μ??£àyè?£obackground:url("images/***.gif") #333;
?éò?D′?abackground:url(images/***.gif) #333;
è?1????óá?òyo?£?·′???áòy?eò?D??ˉàà?÷μ?′í?ó?£
ê?ò?.×é?????÷(Group selectors)
μ±ò?D??a??ààDí?¢class?ò??id??óD12í?μ?ò?D?ê?D?£????í?éò?ê1ó?×é?????÷à′±ü?a?à′?μ????′?¨ò??£?a?éò??úê?2?éù×??ú?£
?
àyè?£o?¨ò??ùóD±êìaμ?×?ì??¢??é?oímargin£????éò??a?ùD′£oh1,h2,h3,h4,h5,h6 {
font-family:"Lucida Grande",Lucida,Arial,Helvetica,sans-serif;
color:#333;
margin:1em 0;
}
è?1??úê1ó?ê±£?óD??±e?a??Dèòa?¨ò??àá¢?ùê?£????éò??ù?óé?D?μ??¨ò?£??éò??2??à?μ??¨ò?£?àyè?£oh1 { font-size:2em; }
h2 { font-size:1.6em; }
ê??t.ó??yè·μ??3Dò???¨á′?óμ??ùê?
μ±??ó?CSSà′?¨ò?á′?óμ??à??×′ì??ùê?ê±£?òa×¢òa?ü??êéD′μ??3Dò£??yè·μ??3Dòê?£o:link :visited :hover :active?£3éè?μúò???×???ê?"LVHA"£????éò???ò?3é"LoVe HAte"(?2??ì??á)?£?aê2?′?a?′?¨ò?£??éò?2???Eric Meyerμ???Link Specificity?·?£
è?1???μ?ó??§Dèòaó??ü?ìà′????£?Dèòa?aμàμ±?°á′?óμ??1μ?£????1?éò??¨ò?:focusê?D??£:focusê?D?μ?D§1?ò2è???ó???êéD′μ?????£?è?1????£í????1?a????ê?:hoverD§1?£????í°?:focusD′?ú:hover?°??£?è?1????£í????1D§1?ì?′ú:hoverD§1?£????í°?:focus·??ú:hoveroó???£
ê?èy.??3y???ˉ
ò???·?3£3£??μ?CSS?êìa£??¨??ê1ó????ˉμ?ê±oò£?????μ?2?±????ˉμ?2??ù?2??£??ò??2?à???ì×μ?×ó2?3?3?á?ía2?μ?·??§?£
í¨3£μ??a??°ì·¨ê??ú???ˉ2?oó??ìí?óò?????ía?a??£?àyè?ò???div?ò??ò???br£?2¢?ò?¨ò??üμ??ùê??aclear: both?£?a??°ì·¨óDò?μ??£??£?Dò??μ?ê??1óDò???o?°ì·¨?éò??a??£?2??′?a?a??????How To Clear Floats Without Structural Markup?·(×¢£o±????????ì·-ò?′???)?£
é???2??·?·¨?éò?oüo??a?????ˉ3?3?μ??êìa£?μ?ê?è?1?μ±????μ?Dèòa??2??ò??2?à?μ????ó??DDclearμ?ê±oò???′°ì£?ò????òμ¥μ?·?·¨?íê?ó?overflowê?D?£??a??·?·¨×?3?μ?·¢±í?ú??Simple Clearing of Floats?·£?ó??ú??Clearance?·oí??Super simple clearing floats?·?D±?1?·oì????£
é?????ò???clear·?·¨?üêêo???£?òa?′??ì?μ??é??£??aà?2??ù?1?a??ê??£áíía1?óúfloatμ?ó|ó?£?ò?D?ó?D?μ?????ò??-?μμ?oü??3t£?í????????á£o??Floatutorial?·?¢??Containing Floats?·oí??Float Layouts?·
ê???.oá?ò?ó?D(centering)
?aê?ò????òμ¥μ????é£?μ?ê??μμ??ù?μò?±é£?òò?a?ò?′??ì??àμ?D?ê??êìa??ê??ê?a??£oCSSè?o?oá?ò?ó?D£???Dèòa?¨ò??a??μ??í£?2¢?ò?¨ò?oá?òμ?margin£?è?1???μ?2???°üo??úò???2?(èY?÷)?D£??í?ó?a?ù£o
???éò??a?ù?¨ò?ê1?üoá?ò?ó?D£o#wrap {
width:760px; /* DT???a??μ?2?μ??í?è */
margin:0 auto;
}
μ?ê?IE5/Win2??ü?yè·??ê??a???¨ò?£??ò??2éó?ò???·?3£óDó?μ????éà′?a??£oó?text-alignê?D??£?í?ó?a?ù£obody {
text-align:center;
}
#wrap {
width:760px; /* DT???a??μ?2?μ??í?è */
margin:0 auto;
text-align:left;
}
μúò???bodyμ?text-align:center; 1??ò?¨ò?IE5/Win?Dbodyμ??ùóD?a???ó?D(?????ˉàà?÷??ê?????×??ó?D) £?μú?t??text-align:left; ê???#warp?Dμ???×??ó×ó?£
ê???.μ?è?(Import)oíòt2?CSS
òò?aà?°?±??ˉàà?÷2??§3?CSS£?ò???í¨3£μ?×?·¨ê?ê1ó?@import???éà′°?CSSòt2??eà′?£àyè?£o@import url("main.css");
è???£??a??·?·¨??IE42??e×÷ó?£??aè??òoüê?í·ì?á?ò??ó×ó?£oóà′?òó??a?ùμ?D′·¨£o@import "main.css";
?a?ù?í?éò??úIE4?Dò2òt2?CSSá?£?o?o?£??1?úê?á?5??×??ú???£??á??a@importó?·¨μ??ê???μ?÷£??éò??′?aà???centricle?ˉs css filter chart?·
ê?áù.????IEμ?ó??ˉ
óDD?ê±oò£???Dèòa??IE?ˉàà?÷μ?bug?¨ò?ò?D?ì?±eμ?1??ò£??aà?óDì??àμ?CSS???é(hacks)£??ò??ê1ó????Dμ?á???·?·¨£?2?1ü?¢èí?ú?′??·¢2?μ?IE7 beta°?à?ê?·??üo?μ??§3?CSS£??aá???·?·¨??ê?×?°2è?μ??£
  • 1.×¢êíμ?·?·¨
    • (a)?úIE?Dòt2?ò???CSS?¨ò?£????éò?ê1ó?×ó?????÷(child selector):
      html>body p {
      /* ?¨ò??úèY */
      }
    • (b)?????a??D′·¨??óDIE?ˉàà?÷?éò?àí?a(???????ˉàà?÷??òt2?)
      * html p {
      /* declarations */
      }
    • (c)?1óDD?ê±oò£????£í?IE/WinóDD§??IE/Macòt2?£????éò?ê1ó?"·′D±??"???é£o
      /* \*/
      * html p {
      declarations
      }
      /* */
  • 2.ì??t×¢êí(conditional comments)μ?·?·¨
    áííaò???·?·¨£??òè??a±èCSS??Hacks?ü?ó?-μ??e???é?íê?2éó??¢èíμ???óDê?D?ì??t×¢êí(conditional comments)?£ó??a??·?·¨???éò???IEμ¥?à?¨ò?ò?D??ùê?£???2?ó°?ì?÷?ùê?±íμ??¨ò??£?í?ó?a?ù£o

ê???.μ÷ê????é£o2?óD?à′ó£?
μ±μ÷ê?CSS·¢éú′í?ó£????íòa?ó??°?1¤è?£??eDD·???CSS′ú???£?òí¨3£?ú3??êìaμ?2?é??¨ò?ò???±3?°??é?£??a?ù?í?üoü?÷???′μ?2????Y?à′ó?????£óDD?è??¨òéó?border£?ò?°??é??ò2ê??éò?μ?£?μ??êìaê?£?óDê±oòborder ?á???ó?a??μ?3?′?£?border-topoíboeder-bottom?á???μ×Y?òmarginμ??μ£??ùò?ê1ó?background?ü?ó°2è?D??£
áííaò????-3£3??êìaμ?ê?D?ê?outline?£outline?′?eà′?óboeder£?μ?2??áó°?ì?a??μ?3?′??ò???????£??óDéùêy?ˉàà?÷?§3?outlineê?D?£??ò?ù?aμàμ???óDSafari?¢OmniWeb?¢oíOpera?£
ê?°?.CSS′ú??êéD′?ùê?
?úD′CSS′ú??μ?ê±oò£???óú?????¢??DD?¢????£?????è?óD????è?μ?êéD′?°1??£?ú?-1y2???êμ?ùoó£??ò???¨2éó??????a?ùμ?êéD′?ùê?£oselector1,
selector2 {
property:value;
}
μ±ê1ó?áao??¨ò?ê±£??òí¨3£???????????÷μ¥?àD′ò?DD£??a?ù·?±??úCSS???t?D?òμ??ü???£?ú×?oóò????????÷oí′óà¨o?{?????óò???????£??????¨ò?ò2μ¥?àD′ò?DD£?·?o??±?ó?úê?D??μoó£?2?òa?ó?????£
?ò?°1??ú????ê?D??μoó?????ó·?o?£???è?1??òé??êDí×?oóò???ê?D??μoó???éò?2?D′·?o?£?μ?ê?è?1???òa?óD??ùê?ê±èYò×íü??21é?·?o???2úéú′í?ó£??ùò??1ê????ó±è??o??£
×?oó£?1?±?μ?′óà¨o?}μ¥?àD′ò?DD?£
【CSS|CSSμ?ê?°?°????é】????oí??DDóD?úó????á?£

    推荐阅读