Web前端学习笔记

CSS初探

2017-06-12  本文已影响0人  一个非典型IT学习者

Head First HTML与CSS

第七章 CSS入门

CSS——掌控页面的表现

CSS结构简介

CSS包含一些简单的语句,称为规则。每个规则为选择的一些HTML元素提供样式。典型的规则包括一个选择器,以及一个或多个属性或值。如:

p     {

                background-color:red;

}

h1        {

                font-family:sans-serif;

                color:gray;

}

例子中的p和h1称为选择器,也就是选择的元素名(注意!没有左右尖括号),花括号中的内容为选择器所选择的元素将会应用的属性和对应值。每个属性声明以一个分号作为结束,所有属性和值都放在大括号中。选择器的元素名可以任意指定。

那么,能不能将一个花括号中的规则同时应用到多个元素呢?可以。

通过使用逗号分隔元素名可以实现一次选择多个元素,如:

p,h1         {

        color:blue;

}

CSS 添加方法

1.通过在<head></head>元素内部,<meta>和<title>元素之后加入<style>元素来添加CSS规则。

这是应用样式最容易的方法。但不适用于复杂的网站。如:

<head>

<meta charset="utf8">

<title>Head first</title>

<style>


h1 {

border-bottom:1px solid black;

}

p {

color:maroon;

}

</style>

</head>

2.通过在<head></head>元素内部,<meta>和<title>元素之后加入<link>元素,利用type属性链接到外部样式表(CSS文件),使用相应样式表内的CSS规则。

这是目前流行的常规做法。

<head>

<meta charset="utf8">

<title>Head first</title>

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

</head>

继承

1.很多属性都能继承。例如,如果为<body>元素设置了一个可继承的属性,那么<body>的所有子元素(包括子元素的子元素,以此类推)都会继承这个属性。

2.通过为你想改变的元素创建一个更“特定”的规则,能覆盖该元素继承的属性。也就是说,如果同一个元素通过一个或多个途径被赋予了多个值,将会获得最“特定”的那一个值。

可以使用class属性将元素添加到一个类,如:

<p class="greentea">xxxxx

</p>

这样,这部分p元素(并非所有p元素)就属于“greentea”类了,就会受到“greentea”类规则的影响。

而类的CSS选择器如何写呢?如下:

p.greentea{color:green;}——选择greentea类中的p元素

.greentea{color:green;}——选择greentea类中的所有元素

一个选择器可以选择多个类/元素,那么,一个元素可不可以属于多个类呢?

答案是可以的,通过在class属性中放入多个类名,可以指定一个元素属于多个类,类名之间用空格分隔。如下:

<p class="greentea bluetea blacktea">xxxxxx

</p>

如果有多个选择器选择一个元素怎么办?

按照特定程度最高的来。

如:

p {color:blue;}——这个规则会选择所有原来的p元素

.greentea {color:blue;}——这个规则只会选择属于greentea类的元素

p.greentea {color:blue;}——这个规则只会选择属于greentea类的p元素

p.bluetea{color:blue;}——这个规则只会选择属于bluetea类的p元素

p.blacktea {color:blue;}——这个规则只会选择属于blacktea类的p元素

那么,我们说第二个规则比第一个更“特定”

后三个规则比第二个更“特定”

后三个规则的特定程度是相同的。

那么,如果有多个特定程度相同的规则应用于同一元素,该如何选择?

这时需要利用样式表文件中规则的顺序来解决问题。

会使用CSS文件中最后列出的规则(最靠后的)。

如果上述五个为CSS文件中的顺序,某个p元素同时属于以上三类,那么该p元素会应用p.blacktea中的规则。

如何检查某个元素是否有某项属性被赋值?

1.首先,看CSS中有没有某个选择器选择该元素。

如果有,而且选择器中有规定该属性和对应的值,那么这就是这个元素的该属性值。

2.如果没有与元素匹配的选择器,属性值就要依赖于继承。

查看该元素的父元素、以及父元素的父元素,以此类推,直到找到所定义的属性。

如果找到了,这就是你要的值。

3.如果都没有,会使用浏览器的默认值。


第一篇笔记,分享给大家,共同学习,谢谢!

上一篇下一篇

猜你喜欢

热点阅读