1. ID与类
  2. 层叠
  3. 分组
  4. 继承
  5. 上下文选择器
  6. 子类选择器
  7. 其他选择器
  8. 结构与注释

    20.1 ID与类

    选择器是用于控制页面设计的样式.即ID选择器何类选择器.

    一直以来,许多开发人员经常将ID与类混淆,或者不能正确的使用这两种选择器,或者简单的认为是一个代替另一个.这种认知是及其错误的.

    (1).应用ID

    每个ID在一个页面中只能使用一次,作为某个元素的唯一标识符.一般情况下,ID只用于页面的唯一元素,如页眉,主导航条,布局区块等.

    示例:<p id="hightlight">This paragraph has red text.</p>

    相应的CSS代码:

    #hightlight{

    color:#FFFFFF;

    }

    (2).将ID与选择器结合

    /*适合所有h2标题*/

    h2{

    color:#333;

    font-size:16px;

    }

    /*只适合title的h2标题*/

    h2#title {

    color:#eee;

    }

    相应的XHTML代码:<h2>Title Of My Article</h2>

    <h2 id="title">Title Of My Article</h2>

    (3).ID的使用场合

    对于每个ID,每个页面只能有一个元素使用该样式,因此ID应该为每个页面唯一存在并仅使用一次的元素不保留,

    (4).避免使用ID的场合

    当一个以上的地方需要使用同一CSS规则时,不应该使用ID.

    (5).应用类

    类可以无限次的使用,因此它是应用CSS的非常灵活的方法.

    <p class="hightlight">his paragraph has red text.</p>

    相关CSS代码:

    .hightlight {

    color:FFFFFF;

    }

    (6).结合多个类和ID

    范例:

    <ul id="drinks">

    <li class="mix">Beer</li>

    <li class="mix">Spirtis</li>

    <li class="hot">Cola</li>

    <li class="hot">Lemonade</li>

    </ul>

    相应的CSS代码:

    ul#drinks {

    color:FF6600;

    }

    .mix {

    Color:#999999;

    }

    .hot {

    Color:#333333;

    }

    (7).利用类改写基本样式:

    p{

    Color:#ff6600;

    }

    .bleached {

    Color:#ccc;

    }

    相应的XHTML代码:

    <p>This paragraph has red text.</p>

    <p class="bleached">This paragraph has red text.</p>

    (8).直接将类链接到元素上

    p.bleached {

    color:red;

    }

    相应的XHTML代码:

    <p class="bleached">This paragraph has red text.</p>

    (9).避免,适合

    对于class,如果多次重复使用或者使用子类选择器,那么就选择class,如果是定义唯一性的标记,比如布局,那么用id。

    20.2 层叠

    (1).外部链接实现层叠

    <link rel="stylesheet" type="text/css" href="css/one.css">

    <link rel="stylesheet" type="text/css" href="css/two.css">

    <link rel="stylesheet" type="text/css" href="css/three.css">

    (2).导入样式实现层叠

    @import url("one.css")

    @import url("two.css")

    @import url("three.css")

    注意点:必须牢记一个规则,越晚给的规则越重要.

    20.3 分组

    h1{

    Font-family:隶书,宋体,楷体;

    Line-height: 140%;

    Color:#333;

    }

    h2{

    Font-family:隶书,宋体,楷体;

    Line-height: 140%;

    Color:#333;

    }

    h3{

    Font-family:隶书,宋体,楷体;

    Line-height: 140%;

    Color:#333;

    }

    /*分组后*/

    h1,h2,h3{

    Font-family:隶书,宋体,楷体;

    Line-height: 140%;

    Color:#333;

    }

    /*分组例外*/

    h1{

    Font-style:italic;

    }

    20.4 继承

    h1 {

    Color:#333;

    }

    <h1>This is the greatest heading <i>in the world</i></h1>

    从BODY继承

    Body {

    Margin:10px;

    Font-family:隶书;

    Background:#000;

    Color:#fff;

    }

    20.5 上下文选择器

    h1{

    Color: #ccc;

    }

    i {

    Color:#000;

    }

    /*使用上下文选择器*/

    h1 I {

    Color:#000;

    }

    20.6 子类选择器

    .box {

    color:red;

    }

    .box1 {

    font-weight:bold;

    }

    .box2 {

    font-style:italic;

    }

    <div class="box">Box</div>

    <div class="box box1">Box1</div>

    <div class="box box2">Box2</div>

    20.7 其他选择器

    (1).类型选择器

    p{color:black;}

    a{text-decoration:underline;}

    h1{font-weight:bold;}

    (2).后代选择器

    h2 i{

    color:red;

    }

    li a{

    text-decoration:none;

    }

    #main h1{

    Color:red;

    }

    (3).伪类

    a:link{color:blue;}

    a:visited{color:green;}

    a:hover,a:active{color:red;}

    input:focus{background-color:yellow;}

    (4).通用选择器

    *{

    Padding:0;

    Margin:0;

    }

    (5).高级选择器

    高级选择器,目前支持还不太完善,所以,对于站点功能很重要的任何元素上,应该避免使用这些高级选择器.

    1.子选择器和相邻同胞选择器

    子选择器(只有其儿子才有效果,孙子没有效果)

    #nav > li {background:url(bg.gif) no-repeat left top;}

    <ul id="nav">

    <li>Home</li>

    <li>Server

    <ul>

    <li>Development</li>

    <li>Consultancy</li>

    </ul>

    </li>

    <li>Contact Us</li>

    </ul>

    相邻同胞选择器:

    h1+p{font-weight:bold;}

    <h1>Main Heading</h1>

    <p>First Paragraph</p>

    <p>Second Paragraph</p>

    2.属性选择器

    <strong title="Cascading Style Sheets">CSS</strong>

    strong[title] {border-bottom: 1px dotted #999;}

    strong[title]:hover {cursor:help;background:#ccc}

    20.8 代码注释与结构

    /*body styles*/

    body {

    Font-size:67.5%;

    }

    1.添加结构性注释

    /*---------------------------------------------------

    Version: 1.1

    Author: andy budd

    Email:info@andybudd.com

    Website:http:www.andybudd.com

    -----------------------------------------------------*/

    2.自我提示

    /*

    Use the star selector hack to give IE a different font size

    http://www.info.co.ph

    */

    布局结构:使用有意义的标记。

    表格成了一种布局工具而不是显示数据的方式,人们使用块引用(blockquote)来添加空白而不是表示引用.Web很快就失去了意义,成了字体和表格标签的大杂烩.而现在我们可以使用DIV+CSS来控制布局.

CSS定义选择器的更多相关文章

  1. 20, CSS 定义选择器

    1. ID 与类 2. 层叠 3. 分组 4. 继承 5. 上下文选择器 6. 子类选择器 7. 其他选择器 8. 结构与注释 20.1 ID 与类 选择器是用于控制页面设计的样式.即 ID 选择器何 ...

  2. 用Less CSS定义常用的CSS3效果函数

    定义圆角及调用 /* 定义圆角 @radius 圆角大小 */ .round(@radius:5px){ border-radius:@radius; -webkit-border-radius: @ ...

  3. CSS 后代选择器

    后代选择器(descendant selector)又称为包含选择器. 后代选择器可以选择作为某元素后代的元素. 根据上下文选择元素 我们可以定义后代选择器来创建一些规则,使这些规则在某些文档结构中起 ...

  4. CSS样式选择器优先级

    CSS样式选择器分为4个等级,a.b.c.d,可以以这四种等级为依据确定CSS选择器的优先级. 1.如果样式是行内样式(通过Style=””定义),那么a=12.b为ID选择器的总数3.c为Class ...

  5. css中选择器的使用

    css是英文Cascading Style Sheets的缩写.它是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言.我们再将html比喻 ...

  6. CSS 派生选择器

    派生选择器 通过依据元素在其位置的上下文关系来定义样式,你可以使标记更加简洁. 在 CSS1 中,通过这种方式来应用规则的选择器被称为上下文选择器 (contextual selectors),这是由 ...

  7. CSS id 选择器

    id 选择器 id 选择器可以为标有特定 id 的 HTML 元素指定特定的样式. id 选择器以 "#" 来定义. 下面的两个 id 选择器,第一个可以定义元素的颜色为红色,第二 ...

  8. CSS 包含选择器(九)

    一.包含选择器 包含选择器中前后两部分之间以空格隔开,根据左侧选择符指定的祖先元素,然后在该元素下寻找匹配右侧的选择侧符的下级元素 定义包含选择器时,必须保证在HTML结构中第一个对象能够包含第二个对 ...

  9. CSS样式选择器

    <!-- css样式选择器 HTML选择器 类选择器 ID选择器 关联选择器 组合选择器 伪元素选择器 selector{ /* selector是样式选择器 property:value; / ...

随机推荐

  1. boost库在windows下的编译和使用

    因为跨平台的原因,现在要使用到boost库,boost库非常大,现在处于摸索阶段. 首先来说boost库在window下的安装和使用. 一.下载 首先从boost官方主页http://www.boos ...

  2. 92. Reverse Linked List II

    题目: Reverse a linked list from position m to n. Do it in-place and in one-pass. For example:Given 1- ...

  3. Cygwin安装时,选择163的源后出错:Unable to get setup.ini from <http://mirrors.163.com/cygwin/>

    [问题] 折腾: [记录]Cygwin下把make从v3.82换成v3.81 期间,选择了163的源,结果出错: Cygwin Setup Unable to get setup.ini from & ...

  4. Android安全问题 抢先接收广播 - 内因篇之广播接收器注册流程

    导读:本文说明系统是如何注册动态广播以及静态广播,这里主要注意其注册的顺序 这篇文章主要是针对我前两篇文章 android安全问题  抢先开机启动 - 结果篇 android安全问题  抢先拦截短信 ...

  5. Android 使用SDcard进行文件的读取

    平时我们需要在手机上面存储想音频,视频等等的大文件,以前学过使用File进行存储(使用File操作进行存储):由于考虑到手机本身的存储空间小,这时候我们需要把文件存储在SDcard中,今天自己也学习了 ...

  6. Android ListView避免多线程加载一个同一资源

    当我们的ListView中的Item包含图片,而且这些图片是同一资源,我们用多线程去加载图片,这时候可能就发生了这种情况. 比如线程是人,第一个人去做加载图片到缓存的工作,还没做好时第二个人要这同一张 ...

  7. debug类和trace类的区别

    在 .net 类库中有一个 system.diagnostics 命名空间,该命名空间提供了一些与系统进程.事件日志.和性能计数器进行交互的类库.当中包括了两个对开发人员而言十分有用的类——debug ...

  8. UVa 101 (模拟) The Blocks Problem

    题意: 有n个木块及n个木块堆,初始状态是第i个木块在第i个木块堆上.对应有四种操作,然后输出最终状态. 分析: 用一个vector<int>模拟一个木块堆,进行相应操作即可. #incl ...

  9. ora-28001:口令失效

    Oracle11G创建用户时缺省密码过期限制是180天(即6个月), 如果超过180天用户密码未做修改则该用户无法登录. Oracle公司是为了数据库的安全性默认在11G中引入了这个默认功能,但是这个 ...

  10. MS-SQL索引类型

    一.索引的概念     索引就是加快检索表中数据的方法.数据库的索引类似于书籍的索引.在书籍中,索引允许用户不必翻阅完整个书就能迅速地找到所需要的信息.在数据库中,索引也允许数据库程序迅速地找到表中的 ...