CSS 相关知识总结
1 什么是CSS?
CSS全称(Cascading Style Sheets)是一门指定文档该如何呈现给用户的语言。
2 为何使用CSS?
CSS 文档信息的内容和如何展现它的细节想分离,文档细节即为样式(style)。你可以将样式与内容进行分离出来,以便我们能够
- 避免重复
- 更容易维护
- 为不同的目的,使用不同的样式而内容相同
3 CSS 如何工作的?
浏览器在展示一个文档内容的时候,必须要把文档和样式信息结合起来展示。这个处理过程一般分为两个阶段:
1 浏览器先将标记语言和CSS转换成DOM(文档对象模型)结构。这时DOM就代表了电脑内存中的相应文档,因为它已经融合文档结构和样式表
2 最后浏览器把DOM的内容展示出来。
4 层叠和继承?
一个元素的样式,可以通过多种方式来定义,而多种定义方式之间通过复杂的影响关系决定了元素的最终样式。这种复杂既造就了CSS的强大,也导致CSS显得如此“混乱”而且难以调试
对于层叠来说,共哟三种主要的样式来源
- 浏览器对HTML定义的默认样式
- 用户定义的样式
- 开发者定义的样式,可以有三种形式
- 定义在外部的样式(外链样式):可以达到共用
- 定义在页面头部的样式(内联样式):通过这种形式定义的样式,只能当前页面使用
- 定义在特定元素身上的(行内样式):这种形式多用于测试,可维护性差
5 选择器(Selectors)
标签选择器
关系选择器
| 选择器 | 选择的元素 |
A E |
任何是元素A的后代元素E (后代节点指A的子节点,子节点的子节点,以此类推) |
A > E |
任何元素A的子元素 |
E:first-child |
任何元素的第一个子元素E |
B + E |
任何元素B的下一个兄弟元素E |
B ~ E |
B元素后面的拥有共同父元素的兄弟元素E |
类选择器
ID选择器
伪类选择器
- :link
- :visited
- :active
- :hover
- :focus
- :first-child
- :nth-child
- :nth-last-child
- nth-of-type
- :first-of-type
- :last-of-type
- :empty
- :target
- :checked
- :enabled
- :disabled
提示:请使用
:link 选择器对指向未被访问页面的链接设置样式,
:visited 选择器用于选取已被访问的链接。
:hover 选择器用于设置鼠标指针浮动到链接上时的样式
:active选择器用于设置点击链接时的样式
其四种分别表示:链接 访问过的链接 悬浮在连接上 访问时(点击链接时)
:focus 表示元素获取焦点的
兼容性:
| Chrome | Firefox | Internet | Oper | Safari |
| 1.0 | 1.0 | 8.0 | 7.0 | 1.0 |
修饰表单元素状态:
:checked,:enabled,:disabled
:checked 被选中时
:enabled 可用状态
:disabled 无效状态
enabled 表示任何启用的(enabled)元素。如果一个元素能够被激活(如选择、点击或接受文本输入)或获取焦点,则该元素是启用的。元素还有一个禁用的状态(disabled state),在被禁用时,元素不能被激活或获取焦点。
:target
目标元素一般配合a链接使用,利用其锚点功能,表示当前锚点指向的目标对象
:empty
表示没有内容的元素,例如 <hr/> <br/>
:first-child
第一个子元素
:nth-child()
从开始位置选择指定位置的子元素
:nth-child(2) {
color: red;
}
<div>
<p>111111</p>
<p>111111</p> //变红
<p>111111</p>
<p>111111</p>
</div>
:nth-last-child()
从结束为止开始选择制定子元素
:nth-last-child(2) {
color: red;
}
<div>
<p>111111</p>
<p>111111</p>
<p>111111</p> //变红
<p>111111</p>
</div>
:nth-of-type()
根据类型 当没有指定具体类型时,则全文查找相同类型的指定位置的元素给其添加样式
<style>
:nth-of-type(4){
color:red;
}
</style> <a href="#d">aaaa</a>
<a href="#d">aaaa</a>
<a href="#d">aaaa</a>
<a href="#d">aaaa</a> //变红
<div>
<div>
111111111111
</div>
<div>
111111111111
</div>
<div>
111111111111
</div>
<div>
111111111111
</div> //变红
</div>
也可以指定类型
div:nth-of-type(4){
color:red;
}
<a href="#d">aaaa</a>
<a href="#d">aaaa</a>
<a href="#d">aaaa</a>
<a href="#d">aaaa</a>
<div>
<div>
111111111111
</div>
<div>
111111111111
</div>
<div >
111111111111
</div>
<div >
111111111111 //变红
</div>
</div>
也可以指定范围(也就是父元素),例如下
.parent div:nth-of-type(4) {
color: red;
}
<div>
111111111111
</div>
<div>
111111111111
</div>
<div>
111111111111
</div>
</div>
<div>
111111111111
</div>
<div class="parent">
<div>
111111111111
</div>
<div>
111111111111
</div>
<div>
111111111111
</div>
<div>
111111111111
</div>
</div>
:first-of-type
选择第一个子元素,这与frist-child 区别在于可以进行类型
:first-child {
color: red;
}
<p>111111</p>
<p>
<span>111</span>
</p>
<div>
<p>111111</p>
</div>
或
:first-of-type{
color: red;
}
<p>111111</p>
<p>
<span>111</span>
</p>
<div>
<p>111111</p>
</div>
:last-of-type 先筛选例如先找出所有的兄弟节点p元素,再选择最后一个p元素
p:last-of-type{
color: red;
}
<p>111111</p>
<p>
<span>111</span>
</p>
<div>
<p>111111</p> //变红
</div>
<p>
<span>111</span> //变红
</p>
//再看看这样的也行
p:last-of-type{ color: red;
}
<p>111111</p>
<p>
<span>111</span>
</p>
<p>
<span>111</span> //变红
</p>
<div> <p>111111</p> //变红 </div>
而last-child不进行筛选,只有满足是父元素中并且是最后一个
p:last-child{
color: red;
}
<p>111111</p>
<p>
<span>111</span>
</p>
<div>
<p>111111</p> //变红
</div>
<p>
<span>111</span> //变红
</p>
或者
p:last-child{
color: red;
}
<p>111111</p>
<p>
<span>111</span>
</p>
<p>
<span>111</span> //不变红
</p>
<div>
<p>111111</p> //变红
</div>
CSS 相关知识总结的更多相关文章
- CSS相关知识和经验的碎片化记录
1.子DIV块中设置margin-top时影响父DIV块位置的问题 解决办法1:若子DIV块中使用margin-top,则在父DIV块中添加:overflow:hidden; 解决办法2:在子DIV块 ...
- css相关知识
display: block; "块级元素". display: inline; "行内元素". display: none; "在不删除元素的情况下 ...
- CSS相关知识及入门
CSS(层叠样式表) 作用 修饰HTML页面,美化 CSS代码规范 放置规范 在<style>标签内容体中书写样式代码 <style>标签放置在<head>标签内. ...
- CSS相关知识(持续更新中)
1. 弹性布局 一种当页面需要适应不同的屏幕大小以及设备类型时确保元素拥有恰当的行为的布局方式.引入弹性布局模型的目的是提供一种更加有效的方式来对一个容器中的子元素进行排列.对齐和分配空白空间. 2. ...
- CSS的相关知识——背景,超链接,列表,表格,奇偶选择器
接着上一篇总结一些css的相关知识 ㈠背景 背景属性 1.background-color 背景颜色 rgb函数设置 2.background-image 背景图片 url(“logo.jp ...
- 移动WEB像素相关知识
了解移动web像素的知识,主要是为了切图时心中有数.本文主要围绕一个问题:怎样根据设备厂商提供的屏幕尺寸和物理像素得到我们切图需要的逻辑像素?围绕这个问题以iphone5为例讲解涉及到的web像素相关 ...
- 【web前端面试题整理03】来看一点CSS相关的吧
前言 昨天我们整理了14到js的题,今天我们再来整理14到CSS相关的题目,昨天整理时候时间有点晚了我便有点心浮气躁,里面的一些题需要再次解答,好了看看今天有些什么吧. PS:我这里挑一点来做就好了, ...
- css基本知识
WANGJUN59451 css基本知识 1.CSS 简介 CSS 指层叠样式表 (Cascading Style Sheets),是一种用来表现 HTML 文档样式的语言,样式定义如何显示 HT ...
- HTML入门基础教程相关知识
HTML入门基础教程 html是什么,什么是html通俗解答: html是hypertext markup language的缩写,即超文本标记语言.html是用于创建可从一个平台移植到另一平台的超文 ...
随机推荐
- linq读书笔记1-linq 初步
至于linq是什么之类的已经有过太多的文章介绍,亦不清楚的胡朋友可以自己搜索一下便可以得到大量的答案 为了体验linq究竟能带给我们什么体验,我们直接从代码入手: string[] words = n ...
- RAID磁盘阵列原理
磁盘阵列(Redundant Arrays of independent Disks,RAID),有“价格便宜具有冗余能力的磁盘阵列”之意.原理是利用数组方式来作磁盘组,配合数据分散排列的设计,提升数 ...
- 定义了重复的system.web.extensions/scripting/scriptResourceHandler怎么办
今天移转系统,都配置好之后,系统报错说我的web服务下的web.config 定义了重复的 system.web.extensions/scripting/scriptResourceHandler ...
- CSU 1120 病毒
最长公共上升子序列(LCIS) 裸的算法题. 动态规划: 两组数组a[n].b[m]. f[i][i]表示以a[i].b[j]结尾的两个数组的LCIS. 转移方程: a[i]!=b[j] : f[i] ...
- 微信小程序开发工具 常用快捷键
格式调整 Ctrl+S:保存文件 Ctrl+[, Ctrl+]:代码行缩进 Ctrl+Shift+[, Ctrl+Shift+]:折叠打开代码块 Ctrl+C Ctrl+V:复制粘贴,如果没有选中任何 ...
- jquery取元素值
var j = 1; if (rows.length > 0) { for (var i = 0; i < rows.length; i++) { var row = rows[i]; i ...
- 设置WebSphere字符集参数
设置WebSphere字符集参数 1. 登陆was控制台 2. 依次点击服务器→服务器类型→应用服务器,显示应用程序服务器页面: 3. 选择并点击需要设置字符集的服务器,比如说本例中的server1 ...
- 设置ActioinBar 的背景色以及Title的字体颜色
//设置ActionBar背景 Drawable draw=this.getResources().getDrawable(R.drawable.actionbar_bg); getActionBar ...
- BZOJ1013 球形空间产生器sphere
Description 有一个球形空间产生器能够在n维空间中产生一个坚硬的球体.现在,你被困在了这个n维球体中,你只知道球面上n+1个点的坐标,你需要以最快的速度确定这个n维球体的球心坐标,以便于摧毁 ...
- Android 中的接口回调
http://blog.csdn.net/wangjinyu501/article/details/22052187 在Android中到处可见接口回调机制,尤其是UI事件处理方面.举一个最常见的 ...