CSS-cascading stle sheets

1.      CSS

什么是CSS?CSS 指层叠样式表 (Cascading Style Sheets)

样式定义如何显示 HTML 元素

样式通常存储在样式表中

把样式添加到 HTML 4.0 中,是为了解决内容与表现分离的问题

外部样式表可以极大提高工作效率

外部样式表通常存储在 CSS 文件中

多个样式定义可层叠为一个

简单来说,做了两件事,声明对象样式,声明匹配对象,以供调用。

2.      语法

CSS 规则由两个主要的部分构成:选择器,以及一条或多条声明:

选择器通常是HTML元素。

每条声明由一个属性和一个值组成。

属性(property)是您希望设置的样式属性(style attribute)。每个属性有一个值。属性和值被冒号分开。

p {color:red;text-align:center;}

当然,为了提高可读性,一般情况下是这样写的:

p
{
color:red;
text-align:center;
}

CSS 注释

注释以 "/*" 开始, 以 "*/" 结束:

/*这是个注释*/
p
{
text-align:center;
/*这是另一个注释*/
color:black;
font-family:arial;
}

2.1.   
id 和 class 选择器

如果要在HTML元素中设置CSS样式,需要在元素中设置"id" 和 "class"选择器

id选择器:可以为标有特定id的HTML元素指定特定的样式。

在html中的体现是id=,在css中的对应声明方法是#<id name>

实例:

#para1 { text-align:center; color:red; }

ID属性不要以数字开头,数字开头的ID在
Mozilla/Firefox 浏览器中不起作用。


class 选择器

class 选择器用于描述一组元素的样式,class 选择器有别于id选择器,class可以在多个元素中使用。

选择器在HTML中以class属性表示, 在CSS中,类选择器以一个点"."号显示:

在以下的例子中,所有拥有 center 类的 HTML 元素均为居中。

实例

.center {text-align:center;}

也可以指定特定的HTML元素使用class。

在以下实例中, 所有的 p 元素使用 class="center" 让该元素的文本居中:

实例

p.center {text-align:center;}

2.2.   
CSS声明

怎么引用样式表,与script类似,有三种方式:

插入样式表的方法有三种:

外部样式表(External style sheet)

内部样式表(Internal style sheet)

内联样式(Inline style)

2.2.1.  
外部样式表

当样式需要应用于很多页面时,外部样式表将是理想的选择。在使用外部样式表的情况下,你可以通过改变一个文件来改变整个站点的外观。每个页面使用 <link> 标签链接到样式表。 <link> 标签在(文档的)头部:

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

浏览器会从文件 mystyle.css 中读到样式声明,并根据它来格式文档。

外部样式表可以在任何文本编辑器中进行编辑。文件不能包含任何的 html 标签。样式表应该以 .css 扩展名进行保存。下面是一个样式表文件的例子:

hr {color:sienna;} p {margin-left:20px;}
body {background-image:url("/images/back40.gif");}

2.2.2.  
内部样式表

当单个文档需要特殊的样式时,就应该使用内部样式表。你可以使用 <style> 标签在文档头部定义内部样式表,就像这样:

<head> <style> hr
{color:sienna;} p {margin-left:20px;} body {background-image:url("images/back40.gif");}
</style> </head>

2.2.3.  
内联样式

由于要将表现和内容混杂在一起,内联样式会损失掉样式表的许多优势。请慎用这种方法,例如当样式仅需要在一个元素上应用一次时。

要使用内联样式,你需要在相关的标签内使用样式(style)属性。Style 属性可以包含任何 CSS 属性。本例展示如何改变段落的颜色和左外边距:

<p
style="color:sienna;margin-left:20px">这是一个段落。</p>

2.2.4.  
多重样式

多重样式最关键的问题是会优先使用哪一级的样式。

内联样式)Inline style > (内部样式)Internal style sheet >(外部样式)External style
sheet > 浏览器默认样式

3.     
CSS常用属性

3.1.   
backgrounds

CSS 背景属性用于定义HTML元素的背景。

CSS 属性定义背景效果:

background

简写属性,作用是将背景属性设置在一个声明中。

background-attachment

背景图像是否固定或者随着页面的其余部分滚动。

background-color

设置元素的背景颜色。

background-image

把图像设置为背景。

background-position

设置背景图像的起始位置。

background-repeat

设置背景图像是否及如何重复。

案例:body {background-color:#b0c4de;}

CSS中,颜色值通常以以下方式定义:

十六进制 - 如:"#ff0000"

RGB - 如:"rgb(255,0,0)"

颜色名称 - 如:"red"

3.2.   
text

颜色body {color:red;} h1 {color:#00ff00;} h2 {color:rgb(255,0,0);}

(对于W3C标准的CSS,定义文字颜色的同时还要定义背景色)

水平对齐方式:

h1 {text-align:center;} p.date {text-align:right;} p.main {text-align:justify;}

修饰符:h1 {text-decoration:overline;} h2 {text-decoration:line-through;} h3 {text-decoration:underline;}

文本转换:字母大小写,包括全大、小写,首字母大写;

p.uppercase {text-transform:uppercase;} p.lowercase {text-transform:lowercase;} p.capitalize {text-transform:capitalize;}

文本缩进:p {text-indent:50px;}

3.3.   
font字体

这个可能在爬虫中会遇到。

font

在一个声明中设置所有的字体属性

font-family

指定文本的字体系列

font-size

指定文本的字体大小

font-style

指定文本的字体样式

font-variant

以小型大写字体或者正常字体显示文本。

font-weight

指定字体的粗细。

3.4.   
links

CSS支持不同的链接可以有不同的样式。

链接的样式,可以用任何CSS属性(如颜色,字体,背景等)。

链接状态样式,可以有不同的样式,这取决于他们是什么状态,四个链接状态是:

a:link - 正常,未访问过的链接

a:visited - 用户已访问过的链接

a:hover - 当用户鼠标放在链接上时

a:active - 链接被点击的那一刻

注意:

a:hover 必须跟在 a:link 和 a:visited后面

a:active 必须跟在 a:hover后面

3.5.   
display

display属性设置一个元素应如何显示。

隐藏元素有两种方法:display:none或visibility:hidden

注意:两种方法会产生不同的结果。visibility:hidden可以隐藏某个元素,但隐藏的元素仍需占用与未隐藏之前一样的空间。也就是说,该元素虽然被隐藏了,但仍然会影响布局。

3.6.   
position

position 属性指定了元素的定位类型。

position 属性的五个值:

static:默认值,没有定位,遵循正常的文档流对象;

div.static { position: static; border: 3px solid #73AD21; }

fixed:相对于浏览器窗口的固定位置,即使窗口是滚动的它也不会移动;Fixed定位使元素的位置与文档流无关,因此不占据空间。Fixed定位的元素和其他元素重叠。

p.pos_fixed { position:fixed; top:30px; right:5px; }

relative:相对定位

h2.pos_left { position:relative; left:-20px; } h2.pos_right { position:relative; left:20px; }

移动相对定位元素,但它原本所占的空间不会改变。

absolute:绝对定位的元素的位置相对于最近的已定位父元素,如果元素没有已定位的父元素,那么它的位置相对于<html>

h2 { position:absolute; left:100px; top:150px; }

absolute 定位使元素的位置与文档流无关,因此不占据空间。

absolute 定位的元素和其他元素重叠。

sticky 定位

sticky 英文字面意思是粘,粘贴,所以可以把它称之为粘性定位。

position: sticky; 基于用户的滚动位置来定位。

粘性定位的元素是依赖于用户的滚动,在 position:relative 与 position:fixed 定位之间切换。

它的行为就像 position:relative; 而当页面滚动超出目标区域时,它的表现就像 position:fixed;,它会固定在目标位置。

元素定位表现为在跨越特定阈值前为相对定位,之后为固定定位。

这个特定阈值指的是 top, right, bottom 或 left 之一,换言之,指定 top, right, bottom 或 left 四个阈值其中之一,才可使粘性定位生效。否则其行为与相对定位相同。

其实说白了定位就是指定某一元素在page中的相对位置和在定位冲突时的行为。(所有定位都是相对的,无非是坐标系不同)

4.     
CSS参考手册

4.1.   
CSS 选择器

CSS选择器用于选择元素的样式的模式。

"CSS"列表示在CSS版本的属性定义(CSS1,CSS2,或对CSS3)。

选择器

示例

示例说明

CSS

.class

.intro

选择所有class="intro"的元素

1

#id

#firstname

选择所有id="firstname"的元素

1

*

*

选择所有元素

2

element

p

选择所有<p>元素

1

element,element

div,p

选择所有<div>元素和<p>元素

1

element element

div
p

选择<div>元素内的所有<p>元素

1

element>element

div>p

选择所有父级是
<div> 元素的 <p> 元素

2

element+element

div+p

选择所有紧接着<div>元素之后的<p>元素

2

[attribute]

[target]

选择所有带有target属性元素

2

[attribute=value]

[target=-blank]

选择所有使用target="-blank"的元素

2

[attribute~=value]

[title~=flower]

选择标题属性包含单词"flower"的所有元素

2

[attribute|=language]

[lang|=en]

选择
lang 属性以 en 为开头的所有元素

2

:link

a:link

选择所有未访问链接

1

:visited

a:visited

选择所有访问过的链接

1

:active

a:active

选择活动链接

1

:hover

a:hover

选择鼠标在链接上面时

1

:focus

input:focus

选择具有焦点的输入元素

2

:first-letter

p:first-letter

选择每一个<P>元素的第一个字母

1

:first-line

p:first-line

选择每一个<P>元素的第一行

1

:first-child

p:first-child

指定只有当<p>元素是其父级的第一个子级的样式。

2

:before

p:before

在每个<p>元素之前插入内容

2

:after

p:after

在每个<p>元素之后插入内容

2

CSS-cascading stle sheets的更多相关文章

  1. CSS( Cascading Style Sheets )简书

    (注:带*号的属性是CSS3新增属性)一.基本规则1.css通常存储在样式表(style)中,用于定义如何显示HTML元素:2.css主要由两个部分构成:选择器和一条或多条声明. 选择器通常是需要改变 ...

  2. CSS层叠样式表(Cascading Style sheets)

    CSS层叠样式表(Cascading Style sheets) --------- ---------------- ----------- --------------- ----------- ...

  3. 深入理解 CSS(Cascading Style Sheets)中的层叠(Cascading)

    标题中的 Cascading 亦可以理解为级联. 进入正文,这是一个很有意思的现象.可以直接跳到 总结一下 部分,看完再回过头来阅读本文. 引子 假设我们有如下结构: <p class=&quo ...

  4. How to include cascading style sheets (CSS) in JSF

    In JSF 2.0, you can use <h:outputStylesheet /> output a css file. For example, <h:outputSty ...

  5. CSS(Cascading Style Shee)

    1.CSS是Cascading Style Sheet这个几个英文单词的缩写,翻译成中文是“层叠样式表”的意思 CSS能让网页制作者有效的定制.改善网页的效果. CSS是对HTML的补充,网页设计师曾 ...

  6. css Cascading Style Sheet 层叠样式表

    作用 :实现网页布局,美化页面元素 CSS 在文档中的三种方式 1 行内样式/内联样式 特点:在具体的html标签中引入css 代码 语法: 所有的html标签都具有一个style属性,属性值就可以使 ...

  7. HTML&CSS日常知识点总结

    HTML 标签 meta 标签永远位于文档的头部,即head元素内部 可提供有关页面的元信息,如针对搜索引擎和更新频度的描述和关键词 charset 这个属性规定在外部脚本文件中使用的字符编码 如果外 ...

  8. html5快速入门(二)—— CSS简介

    前言: 1.HTML5的发展非常迅速,可以说已经是前端开发人员的标配,在电商类型的APP中更是运用广泛,这个系列的文章是本人自己整理,尽量将开发中不常用到的剔除,将经常使用的拿出来,使需要的朋友能够真 ...

  9. HTML和xhtml,CSS

    索引: 初学者入门书籍 高级进阶书籍 W3C官方手册 网站架构 移动平台网站开发 视频资源 开发工具 初学者入门书籍: 中文电子书    深入浅出html pdf中文版 魅丽的网页设计 JAVA WE ...

随机推荐

  1. webpack学习(四)extract-text-webpack-plugin插件

    二.extract-text-webpack-plugin插件 从 bundle 中提取文本(CSS)到单独的文件 安装 npm install extract-text-webpack-plugin ...

  2. INFORMATICA 操作流程

  3. MQ中将消息发送至远程队列的配置

    MQ中将消息发送至远程队列的配置 摘自MQ资源管理器帮助文档V7 在开始学习本教程之前,您需要从系统管理员处了解标识网络上接收机器的名称:IP地址.MQ的端口号.队列管理器.接收(远程机器)或者是发送 ...

  4. 使用@SuppressWarnings("unchecked")消除非受检警告

    使用泛型编程时,会遇到许多编译器警告,如:非受检强制转化警告,非受检方法调用警告,非受检普通数组创建警告,费受精转换警告.这次的内容就是遇到这些警告的时候你该怎么办 PS:非受检警告就是代码上黄色的感 ...

  5. python-正则基础

    正则表达式,说的简单些,就是一个匹配的功能,在python中,只要引用 re 模块,就能进行正则匹配操作 一.math匹配 先来看一个简单的例子 import re re.match(pattern, ...

  6. 【转载】iPhone屏幕尺寸、分辨率及适配

    iPhone屏幕尺寸.分辨率及适配 转载http://m.blog.csdn.net/article/details?id=42174937 1.iPhone尺寸规格 iPhone 整机宽度Width ...

  7. NSArray中地内存管理 理解

    问题: 通过alloc和init的方法创建了NSArray和NSDictionary,然后通过addobject和setobject:forkey:将object添加进去.通过addobject会自动 ...

  8. Hibernate基础入门

    Hibernate是一个开放源代码的对象关系映射框架,它将POJO与数据库表之间建立映射关系.是全自动的ORM框架,可以自动生成SQL语句并自动执行.它对JDBC进行了非常轻量级的封装,使程序员可以随 ...

  9. ZXing.net 生成和解析二维码

    nuget引用zxing.net包 public partial class Form1 : Form { public Form1() { InitializeComponent(); } priv ...

  10. es6 Reflect对象详解

    Reflect是ES6为操作对象而提供的新API,而这个API设计的目的只要有: 将Object对象的一些属于语言内部的方法放到Reflect对象上,从Reflect上能拿到语言内部的方法.如:Obj ...