1.CSS盒模型,在不同浏览器的差异

css 标准盒子模型

css盒子模型 又称为框模型(Box Model),包含了元素内容(content)、内边距(padding)、边框(border)、外边距(margin)几个要素。如下图:

图中的内层是content依次是padding border margin。通常我们设置背景时就是内容、内边距、边框这三部分,如果border设置颜色的时候会显示boder颜色当boder颜色是透明时会显示background-color的颜色。而该元素的子元素的是从content开始的。而外边距是透明的,不会遮挡其他元素。

  • 元素框的总宽度=width+padding-left+padding-right+border-left+border-right+margin-left+margin-right;

  • 元素框的总高度=height+padding-top+padding-bottom+border-top+border-bottom+margin-top+margin-bottom;

    IE盒子模型

    IE盒子模型如下图:

图中的内层是content依次是content padding border。通常我们设置背景时就是内容、内边距、边框这三部分。而外边距是透明的,不会遮挡其他元素。

  • 元素框的总宽度=width(padding-left+padding-right+border-left+border-right);

  • 元素框的总高度=height(padding-top+padding-bottom+border-top+border-bottom);

两个模型宽度和高度的计算(是不一样的)

w3c中的盒子模型的宽:包括margin+border+padding+width;

  • width:margin2+border2+padding2+width; height:margin2+border2+padding2+height;

  • iE中的盒子模型的width:包括border+padding+width;

上面的两个宽度相加的属性是一样的。因此我们应该选择标准盒子模型,在网页的顶部加上 DOCTYPE 声明。

2.CSS所有选择器及其优先级、使用场景,哪些可以继承,如何运用at规则

css选择器种类有:

通用选择器:*

id选择器:#header{}

class选择器:.header{}

元素选择器:div{}

子选择器:ul > li{}

后代选择器:div p{}

A>B与A B的区别在于,A B选择所有后代元素,而A>B只选择一代。

css伪类选择器:(Pseudo-classes)

CSS 伪类用于向某些选择器添加特殊的效果。

例子

a:link {color:#FF0000;} /* 未访问的链接 */
a:visited {color:#00FF00;} /* 已访问的链接 */
a:hover {color:#FF00FF;} /* 鼠标划过链接 */
a:active {color:#0000FF;} /* 已选中的链接 */

所有CSS伪类/元素

选择器 示例 示例说明
:checked input:checked 选择所有选中的表单元素
:disabled input:disabled 选择所有禁用的表单元素
:empty p:empty 选择所有没有子元素的p元素
:enabled input:enabled 选择所有启用的表单元素
:first-of-type p:first-of-type 选择的每个 p 元素是其父元素的第一个 p 元素
:in-range input:in-range 选择元素指定范围内的值
:invalid input:invalid 选择所有无效的元素
:last-child p:last-child 选择所有p元素的最后一个子元素
:last-of-type p:last-of-type 选择每个p元素是其母元素的最后一个p元素
:not(selector) :not§ 选择所有p以外的元素
:nth-child(n) p:nth-child(2) 选择所有 p 元素的父元素的第二个子元素
:nth-last-child(n) p:nth-last-child(2) 选择所有p元素倒数的第二个子元素
:nth-last-of-type(n) p:nth-last-of-type(2) 选择所有p元素倒数的第二个为p的子元素
:nth-of-type(n) p:nth-of-type(2) 选择所有p元素第二个为p的子元素
:only-of-type p:only-of-type 选择所有仅有一个子元素为p的元素
:only-child p:only-child 选择所有仅有一个子元素的p元素
:optional input:optional 选择没有"required"的元素属性
:out-of-range input:out-of-range 选择指定范围以外的值的元素属性
:read-only input:read-only 选择只读属性的元素属性
:read-write input:read-write 选择没有只读属性的元素属性
:required input:required 选择有"required"属性指定的元素属性
:root root 选择文档的根元素
:target #news:target 选择当前活动#news元素(点击URL包含锚的名字)
:valid input:valid 选择所有有效值的属性
:link a:link 选择所有未访问链接
:visited a:visited 选择所有访问过的链接
:active a:active 选择正在活动链接
:hover a:hover 把鼠标放在链接上的状态
:focus input:focus 选择元素输入后具有焦点
:first-letter p:first-letter 选择每个

元素的第一个字母

:first-line p:first-line 选择每个

元素的第一行

:first-child p:first-child 选择器匹配属于任意元素的第一个子元素的

元素

:before p:before 在每个

元素之前插入内容

:after p:after 在每个

元素之后插入内容

:lang(language) p:lang(it)

元素的lang属性选择一个开始值

css伪元素

伪元素是用来添加一些选择器的特殊效果。

在下面的例子中,浏览器会根据 “first-line” 伪元素中的样式对 p 元素的第一行文本进行格式化:

p:first-line
{color:#ff0000;font-variant:small-caps;
}

所有CSS伪类/元素

选择器 示例 示例说明
:link a:link 选择所有未访问链接
:visited a:visited 选择所有访问过的链接
:active a:active 选择正在活动链接
:hover a:hover 把鼠标放在链接上的状态
:focus input:focus 选择元素输入后具有焦点
:first-letter p:first-letter 选择每个

元素的第一个字母

:first-line p:first-line 选择每个

元素的第一行

:first-child p:first-child 选择器匹配属于任意元素的第一个子元素的

元素

:before p:before 在每个

元素之前插入内容

:after p:after 在每个

元素之后插入内容

:lang(language) p:lang(it)

元素的lang属性选择一个开始值

伪元素和伪类的区别

  • 伪元素和伪类都是为了给一些特殊需求加样式,定义上基本一致。
  • 伪类像类选择器一样给已存在某个元素添加额外的样式;伪元素则是给自己虚拟的元素添加样式。
  • 已存在元素是指DOM中存在的,伪元素则是虚拟的一种,样式也是给这个虚拟的元素使用的。比如虚拟一个div
  • 声明不同,伪类和选择器之间用一个冒号(:)隔开,伪元素则是两个冒号(::)隔.

组合选择器:

  • E,F 同时选择 E,F

  • E F(后代选择器)选择E所有后代F元素

  • E>F(子元素选择器)E元素下面第一层子集

  • E+F(直接相邻元素选择器----匹配之后的相邻同级元素)紧挨着的后面的兄弟元素

  • E~F(普通相邻元素选择器----匹配之后的同级元素)E元素后面的兄弟元素

  • E:first-child:匹配元素类型为E且是父元素的第一个子元素

  • E:last-child:匹配元素类型为E且是父元素的最后一个子元素

  • E:nth-child(n):匹配元素类型为E且是父元素的第n个子元素

  • E[attr] 含有attr属性的元素

  • E[attr=‘ok’] 含有attr属性的元素且它的值为“ok”

  • E[attr^=‘ok’] 含有attr属性的元素且它的值的开头含有“ok”

  • E[attr$=‘ok’] 含有attr属性的元素且它的值的结尾含有“ok”

  • E[attr*=‘ok’] 含有attr属性的元素且它的值中含有“ok”

css选择器优先级:

关于 CSS,你该了解这些相关推荐

  1. ireport如何给static text加边框_html amp;amp; css 解决li浮动边框为2的问题

    html && css 解决li浮动边框为2的问题 思路 问题:首先,li 浮动后,添加边框,则 中间 li 的边框会形成 1+1=2 的效果,1px的边框会变成2px.(例:分页模块 ...

  2. 【css】基础学习总结

    填充部分: 1.css概念 2.如何用css控制页面样式(2种方式,写在页面内,链接CSS样式文件) 3.介绍了不同的选择器(3种) 4.选择器的声明:集体,嵌套 5.css继承:父子嵌套继承 6.C ...

  3. Conversion error:Jekyll::Converters::Scss encountered an error while converting css/main.scss

    错误描述:Conversion error: Jekyll::Converters::Scss encountered an error while converting 'css/main.scss ...

  4. CSS 选择器:BeautifulSoup4解析器

    和 lxml 一样,Beautiful Soup 也是一个HTML/XML的解析器,主要的功能也是如何解析和提取 HTML/XML 数据. lxml 只会局部遍历,而Beautiful Soup 是基 ...

  5. CSS Modules

    css-loader 提供了一种叫做 CSS Modules 的方案,可以帮我们自动生成唯一的类名,不会和其他模块的命名出现冲突 要使用 CSS Modules 有几个步骤,首先需要在 webpack ...

  6. css 伪元素::after与::before的使用

    CSS伪元素是用来添加一些选择器的特殊效果. 一般使用是 类或者id::after , 类或者id::before ::after是在类的后面处理逻辑 ::before 是在先的前面处理逻辑 它们 都 ...

  7. 前端之css基础学习(更正版)

    css是什么 CSS是Cascading Style Sheets的简称,中文称为层叠样式表,用来控制网页数据的表现,可以使网页的表现与数据内容分离. 简单的说css的引入就是为了使得HTML语言能够 ...

  8. div css 常用技巧

    div css 常用技巧 1.给图片加上alt属性:  <img src="logo.gif" alt="我的公司logo,点击返回首页" /> 2 ...

  9. CSS单位分析及CSS颜色表示法、颜色表(调色板)

    CSS单位主要分析em.rem.fr这三个较难理解的单位吧,平常的px.%.cm那些就不谈了嘛. px在不同场景之下为同样的值,我们把它称作绝对单位,而em和rem受外部因素的影响下而改变,因此称作相 ...

  10. 前端之css引入方式/长度及颜色单位/常用样式

    1.css三种引入方式 <!DOCTYPE html><html><head> <meta charset="UTF-8"> < ...

最新文章

  1. awk 以列为域提取文件内容
  2. 蓝队视角下的企业安全运营
  3. 程序员如何与人打交道
  4. 备战双十一·谁的表情包在天上飞
  5. 业务gis 怎么让别的开发人员不需要懂gis就可以搞开发? (一)
  6. 浅谈《软件工程》常用的几种软件开发方法
  7. 微慕WordPress小程序专业版v2.0
  8. ubuntu固定内网ip_Ubuntu 设置固定ip地址
  9. iOS开发之颜色渐变
  10. 数据库sql语句面试题
  11. SSAO与HBAO学习笔记(持续改进)
  12. MD5简单加密实现32位16位字符
  13. MFC-CString
  14. EXCEL的几个取整函数对比,int() round() ceiling() ceiling.math()等
  15. 获取当前时间一年后的日期
  16. 二层网络的未来?starkgate 带你体验二层桥接
  17. 征信不好就彻底不能申请贷款了吗?
  18. 面积(c++,bfs)
  19. 四川省部分地区经济发展水平的统计分析
  20. Python中的If和For函数

热门文章

  1. SIM7600CE 电源设计指南
  2. TensorFlow高阶张量叉乘
  3. makefile编写总结
  4. 2021高考查询成绩公众号,微信怎么查高考成绩2021 微信高考成绩查询系统入口
  5. android平板外接显示器,iPad平板外接显示器教程 | iPad平板怎么外接显示器_什么值得买...
  6. 微信小程序手把手入门教程
  7. 暂停更新公告—行走的皮卡丘
  8. 获取所有节假日及周末
  9. 飞php影视系统,i.php · 姬晓亮/海洋cms 海洋影视管理系统 - 免费开源PHP - Gitee.com...
  10. 学校建立学生心理健康的必要性