节省你的时间——样式继承

什么是继承?


后代元素可以继承先代元素的一些属性。有了它,可以省去分别定义样式的时间。继承了方向是由外而内的。

继承的局限性


应该注意到,有些属性是不适宜继承的。

  • 作为全局规则,背景色,margin ,border不继承。
  • 浏览器定义的规则,比如h标题,超链接a,等不予继承
  • 开发者应用自己定义的样式,不会继承先代属性。

综合案例:继承是怎样工作的


html骨架

<body>
<div><img src="images/headline.png" width="900" height="214" alt="CSS: The Missing Manual">
</div>
<h1>The Amazing World of CSS</h1>
<p><strong>Sed ut perspiciatis</strong> 假文 <a href="http://www.w3.org/Style/CSS/">W3C CSS Home Page</a>.</p>
<ul>
<li>adipisci velit</li>
<li>autem vel eum iure re</li>
<li> ut lautem vel eum i</li>
</ul>
<h2>Who Knew CSS Had Such Power?</h2>
<p>假文 <strong>Sed ut perspiciatis</strong> 假文</p>
<h3>Not Me!</h3>
<p><strong>Sed ut perspiciatis</strong> 假文 <em>voluptatem accusantium</em> 假文 <strong>假文/p>
<h3>Me Neither!</h3>
<p><strong>Sed ut perspiciatis</strong>假文</p>
</body>

一级继承

样式表输入

p{
color:f460;
}

所有p元素内的strong<em>全都变成了橙色。但是<a>内的标记依然保持着原色。

用继承特性重定义整个页面

给body加上class="pagestyle",然后定义这个class的样式:

    .pagestyle{
font-family: "Helvatica Neue",arial,Helvatica,sans-serif;
font-size: 18px;
color: #bd8100;
margin: 0 auto;
}

发现除了p标记和a标记,所有的颜色变成了金色。p不继承body的样式

用类选择器而不用body标记选择器是为了方便维护。

继承的惰性

对p元素进行如下的样式定义

    p{
color: #f60;
margin-left: 50px;
padding-left: 20px;
border-left: solid 25px #bd8100;
}

发现值有p元素本身起作用,换言之,p元素的border,margin,padding等不对内部的其它标签起作用。

《CSS3实战》读书笔记 第4章:样式继承的更多相关文章

  1. C++ primer plus读书笔记——第13章 类继承

    第13章 类继承 1. 如果购买厂商的C库,除非厂商提供库函数的源代码,否则您将无法根据自己的需求,对函数进行扩展或修改.但如果是类库,只要其提供了类方法的头文件和编译后的代码,仍可以使用库中的类派生 ...

  2. jQuery 实战读书笔记之第二章:选择元素

    基本选择器 html 代码如下,后面的 js 使用的 html 基本大同小异. <!doctype html> <html> <head> <title> ...

  3. Spring3.x企业开发应用实战读书笔记 —— 第三章IoC容器概述

    声明:    本篇博客绝大多数内容为<Spring3.x企业开发应用实战>一书原内容,所有版权归原书作者所有!,仅供学习参考,勿作他用! 3.2 相关Java基础知识 Java语言允许通过 ...

  4. Spring AOP (Spring 3.x 企业应用开发实战读书笔记第六章)

    从面相对象编程到面相切面编程,是一种代码组织方式的进化. 每一代的代码组织方式,其实是为了解决当时面对的问题.比如写编译器和写操作系统的时候的年代当然要pop,比如写界面的时候当然要oop,因为界面这 ...

  5. 机器学习实战 - 读书笔记(13) - 利用PCA来简化数据

    前言 最近在看Peter Harrington写的"机器学习实战",这是我的学习心得,这次是第13章 - 利用PCA来简化数据. 这里介绍,机器学习中的降维技术,可简化样品数据. ...

  6. 机器学习实战 - 读书笔记(12) - 使用FP-growth算法来高效发现频繁项集

    前言 最近在看Peter Harrington写的"机器学习实战",这是我的学习心得,这次是第12章 - 使用FP-growth算法来高效发现频繁项集. 基本概念 FP-growt ...

  7. 机器学习实战 - 读书笔记(11) - 使用Apriori算法进行关联分析

    前言 最近在看Peter Harrington写的"机器学习实战",这是我的学习心得,这次是第11章 - 使用Apriori算法进行关联分析. 基本概念 关联分析(associat ...

  8. 机器学习实战 - 读书笔记(07) - 利用AdaBoost元算法提高分类性能

    前言 最近在看Peter Harrington写的"机器学习实战",这是我的学习笔记,这次是第7章 - 利用AdaBoost元算法提高分类性能. 核心思想 在使用某个特定的算法是, ...

  9. iPhone与iPad开发实战读书笔记

    iPhone开发一些读书笔记 手机应用分类1.教育工具2.生活工具3.社交应用4.定位工具5.游戏6.报纸和杂志的阅读器7.移动办公应用8.财经工具9.手机购物应用10.风景区相关应用11.旅游相关的 ...

  10. <<Java RESTful Web Service实战>> 读书笔记

    <<Java RESTful Web Service实战>> 读书笔记 第一章   JAX-RS2.0入门 REST (Representational State ransf ...

随机推荐

  1. Java--剑指offer(6)

    26.输入一棵二叉搜索树,将该二叉搜索树转换成一个排序的双向链表.要求不能创建任何新的结点,只能调整树中结点指针的指向. /** public class TreeNode { int val = 0 ...

  2. 在 ASP.NET 中执行 URL 重写的方法

    由于需要我们经常会想将动态的页面做成伪静态的,或者在get传值的时候使其简洁明了(实现“可删节”的URL),这时我们需要用到URL重写,微软的MSDN上有详细的原理和使用介绍.我这里就将一种简单的使用 ...

  3. Android获取屏幕宽度、高度的4种方法

    记录学习之用,有相同的问题可以参考 方法一: WindowManager wm = (WindowManager) this .getSystemService(Context.WINDOW_SERV ...

  4. Edge Model

    三种edge Step (阶梯) Ramp (坡) Roof 因为噪声的存在, ramp edge是最常见的. 一阶和二阶算子在ramp edge处的表现 一阶和二阶算子对噪声的敏感性 从上自下, 高 ...

  5. 犀牛书的实例代码:给对象添加freeze, hide, 查询descriptors

    /* * Define a properties() method in Object.prototype that returns an * object representing the name ...

  6. 数据库开发基础-SQl Server 基础

    SQL Server 基础 1.什么是SQL Server SQL:Structured Query Language  结构化查询语言 SQL Server是一个以客户/服务器(c/s)模式访问.使 ...

  7. ps还能用脚本切片?

    最近在慕课网上看有关于ps切图的视频,发现ps 切片的水还挺深的.这相当于我的一篇学习笔记吧.对于ps的基本切图我觉得对于前端人员来说就是a piece of cake.但是对于ps的精准切图,我不知 ...

  8. SQLite数据库的基本操作

    SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中.它是D.RichardHipp建立的公有领域项目.它的设计目标是嵌入式的,而且目前已经在很多嵌入式产 ...

  9. 转发;Dota英文名

    http://esports.17173.com/content/2011-02-17/20110217163225753.shtml 有的英雄的名字真的很漂亮,也给那些学校里英文各种悲剧的同鞋增加点 ...

  10. bootstrap 双层模态框的实现

    <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8&quo ...