书签 分享 收藏 举报 版权申诉 / 19

类型CSS20学习资料.docx

  • 文档编号:4725770
  • 上传时间:2022-12-08
  • 格式:DOCX
  • 页数:19
  • 大小:28.14KB

  这样最终的显示效果是这个div既有#666的背景,也有10px的边框。

是的,这样做是可以的,你可以尝试一下。

九、使用子选择器(descendantselectors)

  CSS初学者不知道使用子选择器是影响他们效率的原因之一。

子选择器可以帮助你节约大量的class定义。

我们来看下面这段代码:

ExampleSourceCode[]

    Item1>

    Item1

    Item1

这段代码的CSS定义是:

ExampleSourceCode[]

div#subnavul{/*Somestyling*/}

div#subnavulli.subnavitem{/*Somestyling*/}

div#subnavulli.subnavitema.subnavitem{/*Somestyling*/}

div#subnavulli.subnavitemselected{/*Somestyling*/}

div#subnavulli.subnavitemselecteda.subnavitemselected{/*Somestyling*/}

你可以用下面的方法替代上面的代码

ExampleSourceCode[]

  • 样式定义是:

    ExampleSourceCode[]

    #subnav{/*Somestyling*/}

    #subnavli{/*Somestyling*/}

    #subnava{/*Somestyling*/}

    #subnav.sel{/*Somestyling*/}

    #subnav.sela{/*Somestyling*/}

    用子选择器可以使你的代码和CSS更加简洁、更加轻易阅读。

    十、不需要给背景图片路径加引号

      为了节省字节,我建议不要给背景图片路径加引号,因为引号不是必须的。

    例如:

      background:

    url("images/***.gif")#333;

      可以写为

      background:

    url(images/***.gif)#333;

      假如你加了引号,反而会引起一些浏览器的错误。

    十一、组选择器(Groupselectors)

      当一些元素类型、class或者id都有共同的一些属性,你就可以使用组选择器来避免多次的重复定义。

    这可以节省不少字节。

      例如:

    定义所有标题的字体、颜色和margin,你可以这样写:

    ExampleSourceCode[]

    h1,h2,h3,h4,h5,h6{

    font-family:

    "LucidaGrande",Lucida,Arial,Helvetica,sans-serif;

    color:

    #333;

    margin:

    1em0;

    }

      假如在使用时,有个别元素需要定义独立样式,你可以再加上新的定义,可以覆盖老的定义,例如:

    ExampleSourceCode[]

    h1{font-size:

    2em;}

    h2{font-size:

    1.6em;}

    十二、用正确的顺序指定链接的样式

      当你用CSS来定义链接的多个状态样式时,要注重它们书写的顺序,正确的顺序是:

      :

    link:

    visited:

    hover:

    active。

    抽取第一个字母是"LVHA",你可以记忆成"LoVeHAte"(喜欢讨厌)。

    为什么这么定义,可以参考EricMeyer的《LinkSpecificity》。

      假如你的用户需要用键盘来控制,需要知道当前链接的焦点,你还可以定义:

    focus属性。

    :

    focus属性的效果也取决与你书写的位置,假如你希望聚焦元素显示:

    hover效果,你就把:

    focus写在:

    hover前面;假如你希望聚焦效果替代:

    hover效果,你就把:

    focus放在:

    hover后面。

    十三、清除浮动

      一个非经常见的CSS问题,定位使用浮动的时候,下面的层被浮动的层所覆盖,或者层里嵌套的子层超出了外层的范围。

      通常的解决办法是在浮动层后面添加一个额外元素,例如一个div或者一个br,并且定义它的样式为clear:

    both。

    这个办法有一点牵强,幸运的是还有一个好办法可以解决,参看这篇文章《HowToClearFloatsWithoutStructuralMarkup》

      上面2种方法可以很好解决浮动超出的问题,但是假如当你真的需要对层或者层里的对象进行clear的时候怎么办?

    一种简单的方法就是用overflow属性,这个方法最初的发表在《SimpleClearingofFloats》,又在《Clearance》和《Supersimpleclearingfloats》中被广泛讨论。

      上面那一种clear方法更适合你,要看具体的情况,这里不再展开论述。

    另外关于float的应用,一些优秀的文章已经说得很清楚,推荐你阅读:

    《Floatutorial》、《ContainingFloats》和《FloatLayouts》

    十四、横向居中(centering)

      这是一个简单的技巧,但是值得再说一遍,因为我看见太多的新手问题都是问这个:

    CSS如何横向居中?

    你需要定义元素的宽,并且定义横向的margin,假如你的布局包含在一个层(容器)中,你可以这样定义使它横向居中:

    ExampleSourceCode[]

    #wrap{

    width:

    760px;/*修改为你的层的宽度*/

    margin:

    0auto;

    }

      但是IE5/Win不能正确显示这个定义,我们采用一个非常有用的技巧来解决:

    用text-align属性。

    就象这样:

    ExampleSourceCode[]

    body{

    text-align:

    center;

    }

    #wrap{

    width:

    760px;/*修改为你的层的宽度*/

    margin:

    0auto;

    text-align:

    left;

    }

      第一个body的text-align:

    center;规则定义IE5/Win中body的所有元素居中(其他浏览器只是将文字居中),第二个text-align:

    left;是将#warp中的文字居左。

    十五、导入(Import)和隐藏CSS

      因为老版本浏览器不支持CSS,一个通常的做法是使用@import技巧来把CSS隐藏起来。

    例如:

      @importurl("main.css");

      然而,这个方法对IE4不起作用,这让我很是头疼了一阵子。

    后来我用这样的写法:

      @import"main.css";

      这样就可以在IE4中也隐藏CSS了,呵呵,还节省了5个字节呢。

    想了解@import语法的具体说明,可以看这里《centricle’scssfilterchart》

    十六、针对IE的优化

      有些时候,你需要对IE浏览器的bug定义一些非凡的规则,这里有太多的CSS技巧(hacks),我只使用其中的两种方法,不管微软在即将发布的IE7beta版里是否更好的支持CSS,这两种方法都是最安全的。

      1.注释的方法

    ExampleSourceCode[]

      (a)在IE中隐藏一个CSS定义,你可以使用子选择器(childselector):

      html>bodyp{

      /*定义内容*/

      }

      (b)下面这个写法只有IE浏览器可以理解(对其他浏览器都隐藏)

      *htmlp{

      /*declarations*/

      }

      (c)还有些时候,你希望IE/Win有效而IE/Mac隐藏,你可以使用"反斜线"技巧:

      /*\*/

      *htmlp{

      declarations

      }

      /**/

      2.条件注释(conditionalcomments)的方法

      另外一种方法,我认为比CSS Hacks更加经得起考验就是采用微软的私有属性条件注释(conditionalcomments)。

    用这个方法你可以给IE单独定义一些样式,而不影响主样式表的定义。

    就象这样:

    ExampleSourceCode[]

    --[ifIE]>

    [endif]-->

    十七、调试技巧:

    层有多大?

      当调试CSS发生错误,你就要象排版工人,逐行分析CSS代码。

    我通常在出问题的层上定义一个背景颜色,这样就能很明显看到层占据多大空间。

    有些人建议用border,一般情况也是可以的,但问题是,有时候border会增加元素的尺寸,border-top和boeder-bottom会破坏纵向margin的值,所以使用background更加安全些。

      另外一个经常出问题的属性是outline。

    outline看起来象boeder,但不会影响元素的尺寸或者位置。

    只有少数浏览器支持outline属性,我所知道的只有Safari、OmniWeb、和Opera。

    十八、CSS代码书写样式

      在写CSS代码的时候,对于缩进、断行、空格,每个人有每个人的书写习惯。

    在经过不断实践后,我决定采用下面这样的书写样式:

    ExampleSourceCode[]

    selector1,

    selector2{

    property:

    value;

    }

      当使用联合定义时,我通常将每个选择器单独写一行,这样方便在CSS文件中找到它们。

    在最后一个选择器和大括号{之间加一个空格,每个定义也单独写一行,分号直接在属性值后,不要加空格。

      我习惯在每个属性值后面都加分号,虽然规则上答应最后一个属性值后面可以不写分号,但是假如你要加新样式时轻易忘记补上分号而产生错误,所以还是都加比较好。

    最后,关闭的大括号}单独写一行。

     

    CSS常用缩写语法

    颜色

    16进制的色彩值,假如每两位的值相同,可以缩写一半,例如:

    #000000可以缩写为#000;#336699可以缩写为#369;

    盒尺寸

    通常有下面四种书写方法:

    property:

    value1;表示所有边都是一个值value1;

    property:

    value1value2;表示top和bottom的值是value1,right和left的值是value2

    property:

    value1value2value3;表示top的值是value1,right和left的值是value2,bottom的值是value3

    property:

    value1value2value3value4;四个值依次表示top,right,bottom,left

    方便的记忆方法是顺时针,上右下左。

    具体应用在margin和padding的例子如下:

    margin:

    1em02em0.5em;

    边框(border)

    边框的属性如下:

    border-width:

    1px;

    border-style:

    solid;

    border-color:

    #000;

    可以缩写为一句:

    border:

    1pxsolid#000;

    语法是border:

    widthstylecolor;

    背景(Backgrounds)

    背景的属性如下:

    background-color:

    #f00;

    background-image:

    url(background.gif);

    background-repeat:

    no-repeat;

    background-attachment:

    fixed;

    background-position:

    00;

    可以缩写为一句:

    background:

    #f00url(background.gif)no-repeatfixed00;

    语法是background:

    colorimagerepeatattachmentposition;

    ExampleSourceCode[]

    你可以省略其中一个或多个属性值,假如省略,该属性值将用浏览器默认值,默认值为:

    color:

    transparent

    image:

    none

    repeat:

    repeat

    attachment:

    scroll

    position:

    0%0%

    字体(fonts)

    字体的属性如下:

    font-style:

    italic;

    font-variant:

    small-caps;

    font-weight:

    bold;

    font-size:

    1em;

    line-height:

    140%;

    font-family:

    \"LucidaGrande\",sans-serif;

    可以缩写为一句:

    font:

    italicsmall-capsbold1em/140%\"LucidaGrande\",sans-serif;

    注重,假如你缩写字体定义,至少要定义font-size和font-family两个值。

    列表(lists)

    取消默认的圆点和序号可以这样写list-style:

    none;,

    list的属性如下:

    list-style-type:

    square;

    list-style-position:

    inside;

    list-style-image:

    url(image.gif);

    可以缩写为一句:

    list-style:

    squareinsideurl(image.gif);

     

    CSS样式表设计中的10条技巧

    1.视频教程'>css字体简写规则

    当使用css定义字体时你可能会这样做:

    ExampleSourceCode[]

      font-size:

    1em;

      line-height:

    1.5em;

      font-weight:

    bold;

      font-style:

    italic;

      font-variant:

    small-caps;

      font-family:

    verdana,serif;  

    事实上你可以简写这些属性:

    ExampleSourceCode[]

      font:

    1em/1.5embolditalicsmall-capsverdana,serif

      现在好多了吧,不过有一点要注重:

    使用这一简写方式你至少要指定font-size和font-family属性,其他的属性(如font-weight,font-style,font-varient)如未指定将自动使用默认值。

      2.同时使用两个class

      通常我们只为属性指定一个class,但这并不等于你只能指定一个,实际上,你想指定多少就可以指定多少,例如:

      ...

    通过同时使用两个class(使用空格而不是逗号分割),这个段落将同时应用两个class中制定的规则。

    假如两者中有任何规则重叠,那么后一个将获得实际的优先应用。

      3.css中边框(border)的默认值

      当编写一条边框的规则时,你通常会指定颜色、宽度以及样式(任何顺序均可)。

    例如:

    border:

    1pxsolid#000(3像素宽的黑色实线边框),其实这个例子中唯一需要指定的值只是样式。

    假如你指定样式为实线(solid),那么其余的值将使用默认值:

    默认的宽度为中等(相当于3到4像素);默认的颜色为边框里的文字颜色。

    假如这正是你想要的效果,你完全可以不在css里指定。

      4.!

    important会被IE忽略

      在css中,通常最后指定的规则会获得优先权。

    然而对除了IE以外的浏览器来说,任何后面标有!

    important的语句将获得绝对的优先权,例如:

    margin-top:

    3.5em!

    important;margin-top:

    2em除IE以外所有浏览器中的顶部边界都是3.5em,而IE为2em,有时候这一点很有用,尤其在使用相对边界值时(就像这个例子),可以显示出IE与其他浏览器的细微差别。

    (很多人可能还注重到了css的子选择器也是会被IE忽略的)

      5.图片替换的技巧

      使用标准的html而不是图片来显示文字通常更为明智,除了加快下载还可以获得更好的可用性。

    但是假如你决心使用访问者的机器中可能没有的字体时,你只能选择图片。

      举例来说,你想在每一页的顶部使用“Buywidgets”的标题,但你同时又希望这是能被搜索引擎发现的,为了美观你使用了少见的字体那么你就得用图片来显示了:

    ExampleSourceCode[]

      

      这样当然没错,但是有证据显示搜索引擎对真实文本的重视远超过alt文本(因为已经有太多网站使用alt文本充当要害字),因此,我们得用另一种方法:

    Buywidgets

    ,那你的漂亮字体怎么办呢?

    下面的css可以帮上忙:

    ExampleSourceCode[]

      h1{

      background:

    url(/widget-image.gif)

    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    CSS20 学习 资料
    提示  冰豆网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:CSS20学习资料.docx
    链接地址:https://www.bdocx.com/doc/4725770.html
    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2022 冰点文档网站版权所有

    经营许可证编号:鄂ICP备2022015515号-1

    收起
    展开