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
}
/* */