CSS-cascading stle sheets
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字体
这个可能在爬虫中会遇到。
|
在一个声明中设置所有的字体属性 |
|
|
指定文本的字体系列 |
|
|
指定文本的字体大小 |
|
|
指定文本的字体样式 |
|
|
以小型大写字体或者正常字体显示文本。 |
|
|
指定字体的粗细。 |
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 |
|
.intro |
选择所有class="intro"的元素 |
1 |
|
|
#firstname |
选择所有id="firstname"的元素 |
1 |
|
|
* |
选择所有元素 |
2 |
|
|
p |
选择所有<p>元素 |
1 |
|
|
div,p |
选择所有<div>元素和<p>元素 |
1 |
|
|
div |
选择<div>元素内的所有<p>元素 |
1 |
|
|
div>p |
选择所有父级是 |
2 |
|
|
div+p |
选择所有紧接着<div>元素之后的<p>元素 |
2 |
|
|
[target] |
选择所有带有target属性元素 |
2 |
|
|
[target=-blank] |
选择所有使用target="-blank"的元素 |
2 |
|
|
[title~=flower] |
选择标题属性包含单词"flower"的所有元素 |
2 |
|
|
[lang|=en] |
选择 |
2 |
|
|
a:link |
选择所有未访问链接 |
1 |
|
|
a:visited |
选择所有访问过的链接 |
1 |
|
|
a:active |
选择活动链接 |
1 |
|
|
a:hover |
选择鼠标在链接上面时 |
1 |
|
|
input:focus |
选择具有焦点的输入元素 |
2 |
|
|
p:first-letter |
选择每一个<P>元素的第一个字母 |
1 |
|
|
p:first-line |
选择每一个<P>元素的第一行 |
1 |
|
|
p:first-child |
指定只有当<p>元素是其父级的第一个子级的样式。 |
2 |
|
|
p:before |
在每个<p>元素之前插入内容 |
2 |
|
|
p:after |
在每个<p>元素之后插入内容 |
2 |
CSS-cascading stle sheets的更多相关文章
- CSS( Cascading Style Sheets )简书
(注:带*号的属性是CSS3新增属性)一.基本规则1.css通常存储在样式表(style)中,用于定义如何显示HTML元素:2.css主要由两个部分构成:选择器和一条或多条声明. 选择器通常是需要改变 ...
- CSS层叠样式表(Cascading Style sheets)
CSS层叠样式表(Cascading Style sheets) --------- ---------------- ----------- --------------- ----------- ...
- 深入理解 CSS(Cascading Style Sheets)中的层叠(Cascading)
标题中的 Cascading 亦可以理解为级联. 进入正文,这是一个很有意思的现象.可以直接跳到 总结一下 部分,看完再回过头来阅读本文. 引子 假设我们有如下结构: <p class=&quo ...
- 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 ...
- CSS(Cascading Style Shee)
1.CSS是Cascading Style Sheet这个几个英文单词的缩写,翻译成中文是“层叠样式表”的意思 CSS能让网页制作者有效的定制.改善网页的效果. CSS是对HTML的补充,网页设计师曾 ...
- css Cascading Style Sheet 层叠样式表
作用 :实现网页布局,美化页面元素 CSS 在文档中的三种方式 1 行内样式/内联样式 特点:在具体的html标签中引入css 代码 语法: 所有的html标签都具有一个style属性,属性值就可以使 ...
- HTML&CSS日常知识点总结
HTML 标签 meta 标签永远位于文档的头部,即head元素内部 可提供有关页面的元信息,如针对搜索引擎和更新频度的描述和关键词 charset 这个属性规定在外部脚本文件中使用的字符编码 如果外 ...
- html5快速入门(二)—— CSS简介
前言: 1.HTML5的发展非常迅速,可以说已经是前端开发人员的标配,在电商类型的APP中更是运用广泛,这个系列的文章是本人自己整理,尽量将开发中不常用到的剔除,将经常使用的拿出来,使需要的朋友能够真 ...
- HTML和xhtml,CSS
索引: 初学者入门书籍 高级进阶书籍 W3C官方手册 网站架构 移动平台网站开发 视频资源 开发工具 初学者入门书籍: 中文电子书 深入浅出html pdf中文版 魅丽的网页设计 JAVA WE ...
随机推荐
- 什么是Github的元数据metadata以及如何备份github上的数据
github被微软收购后,提供的工具种类是越来越多了,大大提高了我们程序员日常工作的效率. 今天我偶然发现,我们可以一键把自己整个github上的数据,不仅仅是代码,还包含每个仓库里创建的issue都 ...
- [零基础学JAVA]Java SE基础部分-03. 运算符和表达式
转自:http://redking.blog.51cto.com/27212/116751 1.课程名称:运算符.表达式 讲解了JAVA中各种运算符的使用,包括与.或.非.大于.小于等. 2.知识点 ...
- Python模块(进阶3)
转载请标明出处: http://www.cnblogs.com/why168888/p/6411917.html 本文出自:[Edwin博客园] Python模块(进阶3) 1. python中模块和 ...
- Celery+redis实现异步
目录 Celery+redis实现异步 安装redis 安装celery-with-redis 添加celery相关配置 创建异步运行任务tasks.py 启动 Celery+redis实现异步 安装 ...
- redis三节点sentinel部署
角色 ip port master 127.0.0.1 6379 slave-1 127.0.0.1 6380 slave-2 127. ...
- PowerDNS简单教程(4):优化篇
目录: PowerDNS简单教程(1):安装篇 http://www.cnblogs.com/anpengapple/p/5205130.html PowerDNS简单教程(2):功能篇 http:/ ...
- 小技巧:快速清除项目中的svn相关文件!
习惯使用svn作为源代码管理工具,安全可靠 但是这些.svn字样的文件夹及文件也会随着源代码一同被deploy到Tomcat中,除了看着碍眼,也会占用Tomcat的性能 每次都是在项目部署目录里,搜索 ...
- luogu U41573 War2
一道NOIP2018模拟的DayT3 原本没打算做,结果Dukelv秒了(强的过分),就来看看. 状压dp.令dp[i][j]表示在状态 i ,最后选了第 j 个数是的最大分值. 所以我们枚举状态 i ...
- jquery分页例子
先看效果图: 实现原理很简单,使用了jquery.pagination这个插件,每当点击页码时异步去服务器去取该页的数据,简单介绍如下: 一.数据库表结构:很简单 就四个字段 分别是News_id ...
- python-使用递归实现二分法
在上一篇中简单介绍了递归的使用,请戳这里 . 在此篇中,主要介绍如何用递归实现二分法. 在使用二分法之前,首先要有个前提,那就是这个数组必须是有序数组.主要的思路为: ①先取出数组中的一个中间值, ...