CSS样式表+选择器+三大特性

2023-11-09

声明:本人的所有博客皆为个人笔记,作为个人知识索引使用,因此在叙述上存在逻辑不通顺、跨度大等问题,希望理解。分享出来仅供大家学习翻阅,若有错误希望指出,感谢!

引入CSS样式表(书写位置)

行内式(内联样式)[不建议使用]

  • 通过标签的style属性来设置元素的样式
  • 任何HTML标签都拥有style属性,用来设置行内式
<标签名 style="属性1:属性值1; 属性2:属性值2; 属性3:属性值3;"> 内容 </标签名>
  • style其实就是标签的属性
  • 样式属性和值中间是
  • 多组属性值之间用;隔开

内部样式表(内嵌样式表)[不建议使用]

  • 是将CSS代码集中写在HTML文档的head头部标签中,并且用style标签定义
<head>
<style type="text/CSS">
    选择器(选择的标签) { 
      属性1: 属性值1;
      属性2: 属性值2; 
      属性3: 属性值3;
    }
</style>
</head>
  • style标签一般位于head标签中,当然理论上他可以放在HTML文档的任何地方。
  • type=“text/css” 在html5中可以省略。
  • 只能控制当前的页面

外部样式表(外链式)[建议使用]

  • 是将所有的样式放在一个或多个以**.CSS**为扩展名的外部样式表文件中,通过link标签将外部样式表文件链接到HTML文档中
<head>
  <link rel="stylesheet" type="text/css" href="css文件路径">
</head>
  • link 是个单标签
  • link标签需要放在head头部标签中,并且指定link标签的三个属性
属性 作用
rel 定义当前文档与被链接文档之间的关系,在这里需要指定为“stylesheet”,表示被链接的文档是一个样式表文件
type 定义所链接文档的类型,在这里需要指定为“text/CSS”,表示链接的外部文件为CSS样式表。我们都可以省略
href 定义所链接外部样式表文件的URL,可以是相对路径,也可以是绝对路径

CSS样式规则

  • 选择器用于指定CSS样式作用的HTML标签,花括号内是对该对象设置的具体样式。
  • 属性和属性值以“键值对”的形式出现。
  • 属性是对指定的对象设置的样式属性,例如字体大小、文本颜色等。
  • 属性和属性值之间用英文“:”连接。
  • 多个“键值对”之间用英文“;”进行区分。

CSS选择器

  • 选择器的作用是找到特定的HTML页面元素

  • 选择器分为基础选择器和 复合选择器

CSS基础选择器

标签选择器

标签选择器(元素选择器)是指用HTML标签名称作为选择器,按标签名称分类,为页面中某一类标签指定统一的CSS样式。

标签名{属性1:属性值1; 属性2:属性值2; 属性3:属性值3; }
类选择器

类选择器使用“.”(英文点号)进行标识,后面紧跟类名

  • 类名选择器

    .类名  {   
        属性1:属性值1; 
        属性2:属性值2; 
        属性3:属性值3;     
    }
    
  • 标签

    <标签名 class='类名'></标签名>
    

PS:

  • 类选择器使用“.”(英文点号)进行标识,后面紧跟类名(自定义,我们自己命名的)
  • 长名称或词组可以使用中横线来为选择器命名。
  • 不要纯数字、中文等命名, 尽量使用英文字母来表示
类选择器特殊用法- 多类名
  • 可以给标签指定多个类名,从而达到更多的选择目的
  • 各个类名中间用空格隔开。
  • 多类名选择器在后期布局比较复杂的情况下,还是较多使用的
id选择器

id选择器使用#进行标识,后面紧跟id名

id选择器:

#id名 {属性1:属性值1; 属性2:属性值2; 属性3:属性值3; }

标签:

<标签名 id="id名">	</标签名>
  • 元素的id值是唯一的,只能对应于文档中某一个具体的元素。

  • 用法基本和类选择器相同。

id选择器和类选择器区别
  • W3C标准规定,在同一个页面内,不允许有相同名字的id对象出现,但是允许相同名字的class
  • id选择器和类选择器最大的不同在于 使用次数上
通配符选择器

通配符选择器用*号表示, * 就是 选择所有的标签 他是所有选择器中作用范围最广的,能匹配页面中所有的元素。

* { 属性1:属性值1; 属性2:属性值2; 属性3:属性值3; }

会匹配页面所有的元素,降低页面响应速度,不建议随便使用

CSS 三大特性

CSS层叠性

  • 所谓层叠性是指多种CSS样式的叠加。

    是浏览器处理冲突的一个能力,如果一个属性通过两个相同选择器设置到同一个元素上,那么这个时候一个属性就会将另一个属性层叠掉

  • 原则:

    • 样式冲突,遵循的原则是就近原则。 那个样式离着结构近,就执行那个样式。
    • 样式不冲突,不会层叠

CSS继承性

  • 子标签会继承父标签的某些样式,如文本颜色和字号。

    想要设置一个可继承的属性,只需将它应用于父元素即可。

  • 子元素可以继承父元素的样式(text-,font-,line-这些元素开头的可以继承,以及color属性)

    • 一般来说,与元素外观相关的样式会被继承;与元素在页面上的布局相关的样式不会被继承
  • inherit属性值
    CSS中每个属性都有inherit属性值,该值的含义是设定当前元素使用其父元素的相应属性,如果父元素没有相应属性则继续往DOM树的顶端寻找,如果到根都没有则使用浏览器的默认属性值。该属性值可以强制继承不能被继承的属性。

CSS优先级

定义CSS样式时,经常出现两个或更多规则应用在同一元素上,此时,

  • 选择器相同,则执行层叠性
  • 选择器不同,就会出现优先级的问题

引入方式不同:采用就近原则,也就是谁离的近,听谁的
行内样式优先级>内部样式表优先级>外部样式表优先级

1.权重计算公式
标签选择器 计算权重公式
继承或者 * 0,0,0,0
每个元素(标签选择器) 0,0,0,1
每个类,伪类 0,0,1,0
每个ID 0,1,0,0
每个行内样式 style="" 1,0,0,0
每个!important 重要的 ∞ 无穷大
属性:属性值!important;
  • 值从左到右,左面的最大,一级大于一级,数位之间没有进制,级别之间不可超越。

  • 继承的权重是0

2.权重叠加

交集选择器,后代选择器等,是有多个基础选择器组合而成,此时就会出现权重叠加。

也就是一个简单的加法计算

  • div ul li ------> 0,0,0,3
  • .nav ul li ------> 0,0,1,2
  • a:hover ------> 0,0,1,1
  • .nav a ------> 0,0,1,1
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

CSS样式表+选择器+三大特性 的相关文章

  • Overflow:auto 导致子 DIV 的绝对元素消失

    我有一个 div A 我在其中设置了overflow auto 现在在该 div 内 我有两个 div 父 div B 设置为position relative和子 div C 是position absolute 现在的问题是 设置ove
  • h2 设置背景颜色和下划线

    我需要帮助解决这个 CSS 问题 我想要风格 h2 元素的背景颜色仅适用于文本 并且还有边框底部 这是预览 我可以自己做这件事 这并不难 但问题是我无法添加额外的元素 比如 span 标签 内 h2 标签 所以我正在寻找一种纯CSS方式来实
  • 菜单作为水平无序列表或表格?

    我有一个无序列表 水平显示为页面的顶部菜单栏 我已经让它显示得相对较好 尽管我一直在调整 IE6 和 IE7 的间距 因为它无法正常显示 令人震惊 无论哪种情况 使用表格来显示菜单还是使用一些CSS hack 我找不到解决方法 会更好吗 显
  • 滚动时我的身体背景颜色消失

    我希望有人能帮帮忙 我已将 body height 属性设置为 100 当所有内容同时显示在屏幕上时 这很好 然而 当我需要滚动 最小化窗口时 主体颜色消失 只留下我为 HTML 背景设置的颜色 有人知道解决办法吗 html backgro
  • 父级嵌入框阴影与子级 div 重叠

    我遇到一个问题 子级 div 与父级框阴影底部重叠 父级有一个 max height w overflow y 滚动 任何帮助都会很棒 https i stack imgur com jQe0r png https i stack imgu
  • 在服务器端生成 HTML Canvas 图像数据?

    这个问题的标题可能有点误导 但我不确定最好的标题是什么 因为我还无法猜测解决方案 基本上我正在开发的系统很大程度上依赖于画布图 这些图表是通过 javascript 生成的 并使用通过 ajax 从 API 服务器提取的数据制作 棘手的部分
  • Ionic 2 占位符文本样式

    我正在使用 Ionic 2 rc0 开发一个应用程序 并且整个应用程序中有几个仍然需要样式设置的输入字段
  • 限制文本区域中每行的字符数

    我整个周末都在寻找解决这个难题的方法 但尚未找到一个可以正常工作的解决方案 我想要实现的是限制文本区域中每行的字符数 不是相同地限制它们 而是我选择的每行不同的字符数 例如 我只想在我的文本区域中包含 4 行 第 1 2 和 3 行将限制为
  • 有没有模拟 Facebook 游览的 jQuery 插件?

    我指的是 Facebook 游览 可能使用开箱即用的 Facebook CSS 我已经知道这两个 http tympanus net codrops 2010 12 21 website tour http tympanus net cod
  • jQuery .val() 返回单选按钮的未定义

    我正在尝试获取 jQuery 中选中的单选按钮值 但它返回的值是 未定义 我搜索了这个问题的解决方案 但对我来说没有任何作用 我的 HTML 代码
  • 响应式网格布局框架[关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • iframe 重新加载按钮

    我浏览了很多网站 但似乎没有一个能正常工作 或者我不明白它们 我想要一个刷新某个 iframe 的简单按钮 该按钮将位于父页面上 并且 iframe 名称为 Right 有很多方法可以做到这一点 假设这个iframe markup 我们可以
  • HTML colorpicker 发生变化时如何获取新值?

    我正在开发一个需要更改 HTML 颜色的网络应用程序canvas基于的价值观colorpicker 我有一个colorpicker在我需要获取的 HTML 中value从每次更新开始
  • Aptana Studio 3 上的预览选项卡在哪里?

    我在 Windows PC 上使用 Aptana Studio 2 并有一个选项卡用于在 IE 上预览页面 另一个选项卡用于在 Firefox 上预览 但我切换到了 Aptana 3 我不知道是没有预览还是我没有找到它 是的 我在 stac
  • 默认情况下,JSF 生成不可用的 ID,这些 ID 与 Web 标准的 CSS 部分不兼容

    活跃的 JSF 或 Primefaces 用户能否解释一下为什么默认情况下会发生这种情况 为什么没有人对此采取任何措施
  • 角度 2 中的动态 styleUrls?

    是否可以将样式表的 url 动态注入到组件中 就像是 styleUrls stylesheet1 css this additionalUrls 或者 一厢情愿并注意这只是假代码 export class MyComponent imple
  • 使水平滚动条始终可见,即使底部不在视图中

    我将用一个片段来开始这个问题 该片段几乎显示了我想要完成的任务 wrapper overflow hidden display flex sidebar min width 200px background 333 color FFF co
  • 电话号码上未拾取结构化数据

    我在网站上有以下代码片段 当我通过 Google 结构化数据测试工具运行此程序时 它不会获取电话号码 我不确定我哪里错了 div class telephone number p Call Us a href 07749 918 143 a
  • Jquery,清除/清空 tbody 元素的所有内容?

    我认为这会相当简单 但似乎空方法无法清除我拥有的 tbody 如果有人知道执行此操作的正确方法 我将不胜感激 我只想删除 tbody 中包含的所有内容 到目前为止我正在尝试 tbodyid empty HTML table tbody tr
  • CSS - 第一个没有特定类别的孩子

    是否可以编写一个 CSS 规则来选择没有特定类的元素的第一个子元素 example div span class common class ignore span span class common class ignore span sp

随机推荐