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. kill -9 和kill-15的区别

    kill -9大家应该是非常熟悉的,杀死进程一般用kill -9的吧. 今天接触到kill -15,kill -15也是杀死进程的.那个kill -15和kill -9有什么区别呢? 其实kill - ...

  2. TIA Portal 和 scout 之间的驱动器地址分配

    TIA Portal集成了scout.在使用simotion控制器时,分配驱动装置的地址可能会碰到问题. 解决方法: 1)在配置驱动时,TIA Portal软件的语言需要选择为应为中文 2)unico ...

  3. ZT Android布局】在程序中设置android:gravity 和 android:layout_Gravity属性

    Android布局]在程序中设置android:gravity 和 android:layout_Gravity属性 分类: [Android基础] 2011-04-19 16:06 54739人阅读 ...

  4. php 上传大文件注意问题

    一.如果要对文件进行复杂的处理,注意设置php.ini中的max_execution_time.max_input_time为足够大,如大量字符串处理urlencode等. 二.如果文件处理要占用较大 ...

  5. 总结:从Node爬取数据到前端图表展示

    最近寒假在家学习Node.js开发,光看书或者跟着敲代码还不够,得找一点有趣的事情来玩一玩,于是我决定写一个Node爬虫,爬取一些有意思或者说是有用的数据.这个决定只与我的兴趣有关,与Python或者 ...

  6. 支持FreeMarker需要哪些JAR包?

    FreeMarker所需的全部jar包,Jar包:struts2-core-2.0.11.2.jar,xwork-2.0.5.jar,ognl-2.6.11.jar,freemarker-2.3.8. ...

  7. Junit单元测试多线程的问题

    今天下午很快完成了一个接口的监控功能,然后屁颠屁颠地用Junit开始单元测试.然后我就开始陷入崩溃的边缘... 监控结束后需要将监控结果以邮件的形式发送给运营的小伙伴维护,前面测试还是很顺利,到了开多 ...

  8. 【转】spring boot web相关配置

    spring boot集成了servlet容器,当我们在pom文件中增加spring-boot-starter-web的maven依赖时,不做任何web相关的配置便能提供web服务,这还得归于spri ...

  9. 关于Queue的相关问题

    在多线程中使用Queue,发现总是有莫名的问题, 经折腾好久之后发现是因为没有加锁! 以下测试代码中, 如果不加锁, 添加 100W对象, 可能只会成功50W, 然后并不会产生异常! );//(如果初 ...

  10. Xcode-push到远程仓库不能使用邮箱名,需使用昵称

    1.Xcode-push到远程仓库不能使用邮箱 2.Xcode-push到远程仓库需使用昵称