漫漫技术人生路

C#

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::

CSS中.这三种写法有何不同?

logo { margin:0; }
#logo { margin:0; }
.logo { margin:0; }

前面加#. 加. 什么也不加.有什么区别?

#td 通过id=方式调用
.td 通过 class=方式调用
td 不需要调用,针对整个页面的td元素

w3c规定每个元素只能有一个唯一的id属性,就是说id和元素是1对1关系
所以用#logo是为ID为logo的元素指定css
而如果某样式需要多次被调用,则用.logo这样,在所有需要调用此样式的对象中是用class=”logo”调用



    通常padding的默认值为0,background-color的默认值是transparent。但是在不同的浏览器默认值可能不同。如果怕有冲突,可以在样式表一开始就先定义所有元素的margin和padding值都为0,象这样:


* {
margin:0;
padding:0;
}

六.不需要重复定义可继承的值

      CSS中,子元素自动继承父元素的属性值,象颜色、字体等,已经在父元素中定义过的,在子元素中可以直接继承,不需要重复定义。但是要注意,浏览器可能用一些默认值覆盖你的定义。
十二.用正确的顺序指定链接的样式

当你用CSS来定义链接的多个状态样式时,要注意它们书写的顺序,正确的顺序是::link :visited :hover :active。抽取第一个字母是LVHA,你可以记忆成LoVe HAte(喜欢讨厌)。

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="Test_TestJavascript_Default" %>

<!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 runat="server">
    <title>无标题页</title>
    <style type="text/css">
  
    .a:link{color:bule;}
    .a:visited{color:red;}
    .a:hover{background-color:Transparent;color:black;}
    .a:active{color:lime;}
   </style>
</head>
<body>
    <form id="form1" runat="server">
    <div>
    <a class="a" href="http://www.baidu.com" target="_blank">fasdfd</a>
    </div>
    </form>
如果你的用户需要用键盘来控制,需要知道当前链接的焦点,你还可以定义:focus属性。:focus属性的效果也取决与你书写的位置,如果你希望聚焦元素显示:hover效果,你就把:focus写在:hover前面;如果你希望聚焦效果替代:hover效果,你就把:focus放在:hover后面

1.注释的方法

(a)在IE中隐藏一个CSS定义,你可以使用子选择器(child selector):
html>body p {
/* 定义内容 */
}

(b)下面这个写法只有IE浏览器可以理解(对其他浏览器都隐藏)
* html p {
/* declarations */
}

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

posted on 2006-10-02 12:08  javaca88  阅读(319)  评论(0编辑  收藏  举报