以下精华出自如下链接,“http://www.aa25.cn/special/10day/index.shtml”,《十天学会web标准(DIV+CSS)》。

  1. 这个内容不要删掉:“<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">”,删除它后可能引起某些样式表失效或其它意想不到的问题。
  2. 按xhtml规范,标签必须用小写。单一的标签有<img src="" />、<br />......
  3. 加载css样式有以下四种:外部样式<link href="layout.css" rel="stylesheet" type="text/css" />;内部样式<style>h2 { color:#f00;}</style>;行内样式<p style="font-size:18px;">内部样式</p>;导入样式@import url("/css/global.css");
  4. css优先级:id优先级高于class;后面的样式覆盖前面的;指定的高于继承;行内样式高于内部或外部样式;总结:单一的(id)高于共用的(class),有指定的用指定的,无指定则继承离它最近的
  5. css盒模型:整个盒模型在页面中所占的宽度是由左边界+左边框+左填充+内容+右填充+右边框+右边界组成,而css样式中width所定义的宽度仅仅是内容部分的宽度 标准之路网站上一篇文章《十天学会web标准(div+css)》的营养精华 
  6. 转变观念:要想学好div+css,首先要转变观念,需要抛弃传统的表格(Table)布局方式,采用层(DIV)布局,并且使用层叠样式表(CSS)来实现页面的外观。给网站浏览者更好的体验。
  7. 一定要多动手、多动脑,不要怕麻烦。
  8. 2个DW中常见的界面:                                                                                  

    标准之路网站上一篇文章《十天学会web标准(div+css)》的营养精华标准之路网站上一篇文章《十天学会web标准(div+css)》的营养精华

  9.  

    盒模型居中:#layout { height: 300px; width: 400px; background: #99FFcc; margin: auto; }

  10. 自适应宽度是相对于浏览器而言,盒模型的宽度随着浏览器宽度的改变而改变。这时要用到宽度的百分比。当一个盒模型不设置宽度时,它默认是相对于浏览器显示的。
  11. 当我们不用任何样式表进行定义时,body,h1-h6,ul等元素默认有外边距或其它样式的。这里我们在css样式中增加一项:body {margin:0;},就可以把body默认的外边距去掉
  12. css代码,每个类或ID都是写在一行
  13. id的优先级高于class
  14. 在两个div之外再加一个父div,然后设置其居中,即可使两个div居中。
  15. 块级元素:就是一个方块,像段落一样,默认占据一行出现;诸如段落<p>、标题<h1><h2>...、列表,<ul><ol><li> 、表格<table>、表单<form>、DIV<div>和BODY<body>等元素。

    内联元素:又叫行内元素,顾名思义,只能放在行内,就像一个单词,不会造成前后换行,起辅助作用。如: 表单元素<input>、超级链接<a>、图像<img>、<span> 

  16. 在 CSS 中,任何元素都可以浮动。浮动元素会生成一个块级框,而不论它本身是何种元素;且要指明一个宽度,否则它会尽可能地窄;另外当可供浮动的空间小于浮动元素时,它会跑到下一行,直到拥有足够放下它的空间。

    标准之路网站上一篇文章《十天学会web标准(div+css)》的营养精华

    细心的朋友已经发现,上例中#main的div还定义了margin-left:120px;而这里没有定义,但它多出的文字却跑到了图片(#side)的下方,是不是设置margin-left:后,它就不会跑到#side的正文呢?如果你能想到这一点,你的确是太聪明了,事实确实是这样,在css样式表中加上下面一行

    #main { margin-left:202px;}

    标准之路网站上一篇文章《十天学会web标准(div+css)》的营养精华

  17. 3像素bug是IE6的一个著名的bug,当浮动元素与非浮动元素相邻时,这个3像素的Bug就会出现。要解决这个问题,请在#side上加上_margin-right:-3px;记住,前边加上一下划线,这样这个样式专门针对IE6生效。IE7和FF下还会正常显示。
  18. #,是个虚拟链接,不指向任何页面。
  19. 去掉默认标签样式body, ul, li, h1, h2, h3, h4, h5, h6, p, form, dl, dt, dd { margin: 0px; padding: 0px; font-size: 12px; font-weight: normal; }
    ul { list-style: none; }
    img { border-style: none; }
  20. #menu ul和#menu ul li即为派生选择器,如果我们把前边的#menu去掉,那么将是对ul标签重定义,重定义的属性将应用到全局,而前边加上#menu后,将是定义ID为menu元素内ul的样式,设置它的样式只对#menu下的ul生效,不对它之后的ul生效,这个有点像编程中的局部变量,而直接定义ul则相当于全局变量。#menu ul li 是定义ID为menu元素内ul下的li,派生选择器可以使我们不用再给每个li定义一个样式名来定义样式,只需使用派生选择器,从它的父元素处选择即可,这样能大大提高效率。
  21. 你可以对选择器进行分组,这样,被分组的选择器就可以分享相同的声明。用逗号将需要分组的选择器分开。在下面的例子中,我们对所有的标题元素进行了分组。所有的标题元素都是绿色的,p段落、div分区、span都是20像素字体。

    h1,h2,h3,h4,h5,h6 { 
    color: green; 

    p,div,span{ 
    font-size:20px; 
    }

  22. 纵向二级列表
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <script type="text/javascript"><!--//--><![CDATA[//><!--
    startList = function() {
    if (document.all&&document.getElementById) {
    navRoot = document.getElementById("menu");
    var allli = navRoot.getElementsByTagName("li")
    for (i=0; i<allli.length; i++) {
    node = allli[i];
    node.onmouseover=function() {
    this.className+=" current";
    }
    node.onmouseout=function() {
    this.className=this.className.replace(" current", "");
    }
    }
    }
    }
    window.onload=startList;
    //--><!]]></script>
    <style type="text/css">
    body { font-family: Verdana; font-size: 12px; line-height: 1.5; }
    img { border-style: none; }
    a { color: #000; text-decoration: none; }
    a:hover { color: #F00; }
    #menu { width: 100px; border: 1px solid #CCC; border-bottom:none;}
    #menu ul { list-style: none; margin: 0px; padding: 0px; }
    #menu ul li { background: #eee; padding: 0px 8px; height: 26px; line-height: 26px; border-bottom: 1px solid #CCC; position:relative; }
    #menu ul li ul { display:none; position: absolute; left: 100px; top: 0px; width:100px; border:1px solid #ccc; border-bottom:none; }
    #menu ul li.current ul { display:block;}
    #menu ul li:hover ul { display:block;}
    </style>
    </head>
    <body>
    <div id="menu">
    <ul>
    <li><a href="#">首页</a></li>
    <li><a href="#">网页版式布局</a>
    <ul>
    <li><a href="#">自适应宽度</a></li>
    <li><a href="#">固定宽度</a></li>
    </ul>
    </li>
    <li><a href="#">div+css教程</a>
    <ul>
    <li><a href="#">新手入门</a></li>
    <li><a href="#">视频教程</a></li>
    <li><a href="#">常见问题</a></li>
    </ul>
    </li>
    <li><a href="#">div+css实例</a></li>
    <li><a href="#">常用代码</a></li>
    <li><a href="#">站长杂谈</a></li>
    <li><a href="#">技术文档</a></li>
    <li><a href="#">资源下载</a></li>
    <li><a href="#">图片素材</a></li>
    </ul>
    </div>
    </body>
    </html>

    接下来修改css样式表,先修改#menu ul li,给其增加一个 position:relative;属性;定义display:none后,默认状态下将隐藏;定义#menu ul li ul的position: absolute; left: 100px; top: 0px;,那么它将以相对于它父元素li的上为0,左为100的位置显示。最后我们设置当鼠标划过后显示下级菜单的样式;#menu ul li:hover ul这个样式比较难理解,它的意思是定义ID为menu下ul下li,当鼠标划过时ul的样式,这里设置为display:block,指的是鼠标划过时显示这块内容,这也实现我们今天想要的效果。

  23. 相对定位和绝对定位:1.position:relative; 如果对一个元素进行相对定位,首先它将出现在它所在的位置上。然后通过设置垂直或水平位置,让这个元素"相对于"它的原始起点进行移动。(再一点,相对定位时,无论是否进行移动,元素仍然占据原来的空间。因此,移动元素会导致它覆盖其他框)

    2.position:absolute; 表示绝对定位,位置将依据浏览器左上角开始计算。 绝对定位使元素脱离文档流,因此不占据空间。普通文档流中元素的布局就像绝对定位的元素不存在时一样。(因为绝对定位的框与文档流无关,所以它们可以覆盖页面上的其他元素并可以通过z-index来控制它层级次序。z-index的值越高,它显示的越在上层。)

    3.父容器使用相对定位,子元素使用绝对定位后,这样子元素的位置不再相对于浏览器左上角,而是相对于父容器左上角

    4.相对定位和绝对定位需要配合top、right、bottom、left使用来定位具体位置,这四个属性只有在该元素使用定位后才生效,其它情况下无效。另外这四个属性同时只能使用相邻的两个,不能即使用上又使用下,或即使用左,又使用右

  24. a:link {color: #FF0000} /* 未访问的链接 */
    a:visited {color: #00FF00} /* 已访问的链接 */
    a:hover {color: #FF00FF} /* 鼠标移动到链接上 */
    a:active {color: #0000FF} /* 选定的链接 */                                                                                                                                                      注意:四种状态的顺序一定不能颠倒,否则有些不生效
  25. 链接在默认状态下是内联元素,转换为块级元素后可以获得更大的点击区域,可以设置宽度和高度,将链接转换为块状,只需增加一个display:block的css属性即可。
  26. 学会了把超链接转换为块级元素,想制作个css按钮简直太简单了,只需在上一步的基础上增加一个按钮的背景图片即可实现。下面以制作淘宝网首页的免费注册按钮来讲解,设置最常用的默认样式和鼠标移上时的样式,如下图
     1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     2 <html xmlns="http://www.w3.org/1999/xhtml">
     3 <head>
     4 <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
     5 <style type="text/css">
     6 a { display: block; height: 34px; width: 107px; line-height: 2; text-align: center; background: url(/upload/2010-08/14/014304_btn_bg.gif) no-repeat 0px 0px; color: #d84700; font-size: 14px; font-weight: bold; text-decoration: none; padding-top: 3px; }
     7 a:hover { background: url(/upload/2010-08/14/014304_btn_bg_hover.gif) no-repeat 0px 0px;}
     8 </style>
     9 </head>
    10 <body>
    11 <p><a href="#">免费注册</a></p>
    12 </body>
    13 </html>
    View Code

相关文章:

  • 2021-06-03
  • 2022-12-23
  • 2021-08-19
  • 2021-12-22
  • 2021-10-19
  • 2022-01-24
  • 2022-01-01
猜你喜欢
  • 2022-03-08
  • 2021-08-23
  • 2021-08-17
  • 2021-09-12
  • 2022-01-04
  • 2022-12-23
  • 2021-09-27
相关资源
相似解决方案