整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

CSS 的 -is()和 -where() 即将在浏

CSS 的 :is()和 :where() 即将在浏览器中和大家见面

在,Safari(技术预览版106)和Firefox(版本78)的预览版均支持新的CSS :is() 和 :where() 伪类。 Chrome的实施仍然落后。

使用 :is() 减少重复

你可以使用 :is() 伪类来删除选择器列表中的重复项。

 /* BEFORE */
 .embed .save-button:hover,
 .attachment .save-button:hover {
   opacity: 1;
 }
 ?
 /* AFTER */
 :is(.embed, .attachment) .save-button:hover {
   opacity: 1;
 }

此功能主要在未处理的标准CSS代码中有用。如果使用Sass或类似的CSS预处理程序,则可能更喜欢嵌套。

注意:浏览器还支持非标准的 :-webkit-any() 和 :-moz-any() 伪类,它们与 :is() 相似,但限制更多。WebKit在2015年弃用了 :-webkit-any() ,Mozilla已将Firefox的用户代理样式表更新为使用 :is() 而不是 :-moz-any()。

使用 :where() 来保持低特殊性

:where() 伪类与 :is() 具有相同的语法和功能。它们之间的唯一区别是 :where() 不会增加整体选择器的特殊性(即某条CSS规则特殊性越高,它的样式越优先被采用)。

:where() 伪类及其任何参数都不对选择器的特殊性有所帮助,它的特殊性始终为零。

此功能对于应易于覆盖的样式很有用。例如,基本样式表 sanitize.css 包含以下样式规则,如果缺少 `` 属性,该规则将设置默认的填充颜色:

 svg:not([fill]) {
   fill: currentColor;
 }

由于其较高的特殊性(B=1,C=1),网站无法使用单个类选择器(B=1)覆盖此声明,并且被迫添加 !important 或人为地提高选择器的特殊性(例如 .share- icon.share-icon)。

 .share-icon {
   fill: blue; /* 由于特殊性较低,因此不适用 */
 }

CSS库和基础样式表可以通过用 :where() 包装它们的属性选择器来避免这个问题,以保持整个选择器的低特殊性(C=1)。

 /* sanitize.css */
 svg:where(:not([fill])) {
   fill: currentColor;
 }
 ?
 /* author stylesheet */
 .share-icon {
   fill: blue; /* 由于特殊性较高,适用 */
 }

总结

1、点赞+评论(勾选“同时转发”)

2、关注哦。并私信回复关键字【资料】(一定要私信哦~手机APP点击我的头像就能看到私信按钮了),部分资料如下

一章. 页面基本元素

1.1页面基础元素:<html>

<html>是页面的基础元素,主要用来定义页面的开始和结束部分。元素语法结构如下<html>....</html>(开头标记为<>,结束标记为</html>)先介绍一下完整的HTML文件的基本结构

<html> 文件开始标记

<head> 文件头开始标记

......... 文件头部分的内容

</head> 文件头结束标记

<body> 文件主体开始标记

......... 文件主题部分的内容

</head> 文件主题结束标记

</html> 文件结束标记

在<html>和</html>之间写入想要编辑的页面内容就构成了一个简单的页面

1.1.1 文本显示方向属性:dir

【作用与语法】dir属性用来指定浏览器文本显示的方向,同时也决定浏览器滚条的位置。dir属性的语法结构如下

<html dir="浏览器中文本的方向">......</html>(在元素名称和属性之间要加入空格)

dir属性可以取两个值,ltr(left title right)和rtl(right title left),分别表示从左向右显示和从右向左显示

1.1.2 指定语言属性:lang

【作用与语法】lang属性用来指定文档中所使用的语言。lang属性的语法结构如下

<html lang="指定的语言">包含的内容部分</html>

lang属性的取值可以使用ISO标准中的语言代码。在<html>元素中加入lang属性,使浏览器更好的显示界面,并不会更改页面的文字编码

ISO标准中语言代码的取值及含义语言名称写法语言名称写法英语en法语fr汉语zh德语de日语ja意大利语it

1.2 页面头部元素:<head>

【作用与语法】HTML的头部元素是以<head>为开始标记,以</head>为结束标记。它用于包含当前文档的相关信息,可包含<title>元素、<meta>元素等,分别用来定义页面的标题、编码。使用<head>元素可以将基本信息部分和页面主体内容区分开来。<head>元素的语法结构如下

<head>......</head>

1.3 页面标题元素:<title>

【作用与语法】HTML页面的标题一般是用来说明页面用途的,它显示在浏览器的标题栏中。在HTML文档中,标题信息设置在页面的头部,也就是<head>和</head>之间。<title>元素的语法结构如下。

<title>......</title> (说明:在标记中间的“......”就是标题的内容,它位于HTML文档的头部,即<head>和</head>之间)

1.4 元信息元素:<meta>

【作用与语法】元信息元素<meta>用来定义页面的附加信息,其中包括页面的作者、版权、关键字等相关信息。<meta>元素的语法结构如下。

<meta 属性=“属性值”/>

<meta>元素是一个自封闭的元素,通过其中的属性来添加各种附加信息。<meta>元素在不适用任何属性时,对页面没有影响。

1.4.1 元信息元素名称属性:name

【作用与语法】name属性用来制定文档中附加信息的名称。例如,最常用的值“keywords”用来定义文档中的关键字,方便搜索引擎的搜索。name属性的语法结构如下。

<meta name="信息名称"/>

在<meta>元素中,名称必须对应有相关的值才能生效

1.4.2 元信息元素的值:content

【作用与语法】content属性用来指定文档中附加信息的值,它与name属性成对出现。content属性的语法结构如下

<meta name="信息名称" conten="附加信息的值"/>

<meta>元素中所定义的“keywords”信息是用来为搜索引擎定义关键字的,所以对页面显示效果并不产生影响,故页面显示效果并无太大变化

1.4.3 元信息元素的附加属性:http-equiv

【作用与语法】http-equiv属性和name属性类似,用来指定附加信息的名称。在浏览器加载页面之前,服务器会把http-equiv属性定义的相关信息发送给浏览器,便于在浏览器中正确显示页面。http-equiv属性的语法结构如下

【作用与语法】<meta http-equiv="信息名称",content="附加信息的值">

说明:和name属性相似,http-equiv属性一般要和conten属性成对出现

1.4.4 定义页面的跳转

【作用与语法】在浏览器网页的时候经常会看到一些欢迎信息的页面,并经过一段时间后,这一页面会自动转到其他页面,这就是网页的跳转。使用HTML中的HTTP代码就可以很轻松的实现这一功能。页面跳转的语法结构

<meta http-equiv="refresh" content="跳转时间";url="链接地址">

说明:在该语法中,refresh表示网页的刷新,而在content中则设定刷新的时间和刷新后的地址,时间和链接地址之间用分号相隔。默认情况下,跳转时间是以秒为单位的

1.5 基本设置元素:<base>

在HTML中,基本设置元素<base>使用来定义相对路径的根目录。使用<base>元素,可以方便的定义页面中的超级链接。语法结构如下

<base 属性="属性值"/>

<base>元素在不使用任何属性时,对页面没有影响。<base>元素中可以使用的属性有链接路径属性href和链接窗口属性target

1.5.1 链接路径属性:href

【作用与语法】href属性用来指定文档中相对链接的根目录。文档中的所有链接(包括图片、音频等内容)都按照href属性所指定的根目录显示。href属性的语法结构如下

<base href="指定路径">包含的内容部分</base>

href属性的取值为url值。它可以使用绝对路径,也可以指

向某个文件夹。

学习一门编程语言之前,了解它的特性,带着对特性的好奇和疑问去学习是最快最好的学习方法。就像你知道某个地方有很多宝藏,带着藏宝图去寻找宝藏,你一定会大有收获的。

编程语言就是人与计算机进行沟通的语言,在现实生活中,见什么人说什么话我们都很清楚,那在与计算机沟通的世界中,做什么事用什么编程语言沟通也是同样的道理,前提就是我们要了解这些编程语言,在你需要选择的时候做出正确的判断,这也正是我写此篇文章的意义。


什么是 HTML?


HTML的英文全称是 Hyper Text Marked Language,中文意思为超文本标记语言。

什么是超文本标记语言?我们先对超文本标记这五个字进行一一的拆分,然后去更好的理解它的意思。在理解超文本时,我们先来理解一下文本在我们的日常生活中代指的是什么东西?

文本包含了比如说你新建的一个Word文档,一个txt文件,甚至一个Html文件。这三个文件有相同的地方, 也有不同的地方。

相同的地方在于不论是Word文档,还是txt文件或者是Html文件,我们都能编写文本的内容。Word文档的不同在于我们可以在Word文档中设置一些超链接,放一些图片等操作。

txt文件就有一定的局限性,比如你放一张图片或者设置超链接等这些行为都是不行。在Html文件中,可以存放文本、图片、音频、视频等,甚至在网页中见到的一些很炫酷的小游戏,都可以在Html文件中去编写。

那接下来解释下超文本。我们在Html文件中编写代码,其实编写的是超文本。所谓超文本,大家应该能联想到超,即超出文本,超文本比文本更高一级,它包含了我们常见的音频、视频以及超链接等。

这些被我们称为超文本,在Html文件里面既能存放这些内容,也能存放文本内容,甚至是文章里的一级标题、二级标题、列表、选项等,都可以通过HTML代码去编写,这些内容我们就称为超文本。

那么这些内容到底用哪些来去展现或展示呢?标记。

什么是标记呢?


用百度官网来分析一下“标记”,在网页页面上存放很多的内容,有超链接、图片、输入框等。我们先看看右上角的新闻字样,这是一个超链接,我们看下源码,打开后的样子是这样的:

我们把蓝色的新闻部分,也就是我用红框标记的部分复制一下,其他代码删除:


“新闻”被左边和右边的“a”包裹起来了,这就构成了超链接,这就像我们常见的书名号。如果我们单是输出红楼梦字样,就是一个文本,但如果用《》书名号包裹起来,《红楼梦》,大家都能知道这是一本书。

把包裹在“新闻”两边的a标签对应包裹在红楼梦两边的书名号来看很类似。用书名号这个标记把红楼梦给包裹起来,就叫做书名,同理,用带尖括号的a这个标记把新闻这个文本内容给包裹起来,在网页中称为超链接,这对带尖括号的a就叫做标记。

标记是用HTML自己的语法规则把文本内容给包裹起来,这就叫做标记。这种标记的书写也非常简单,包裹在文本左边的叫开始标记,包裹在文本右边的叫结束标记。我们看到的网页中显示的一级标题、二级标题、超链接、图片、音频等内容其实学习它们所对应的标记就可以了。


HTML的历史发展过程



接着我们来看下HTML从最原始到现在至今整个HTML语言的历史发展过程。

  • HTML 1.0:在1993年6月作为互联网工程工作小组(IETF)工作草案发布,由此超文本标记语言第一版诞生。
  • HTML 2.0:1995年1 1月作为RFC 1866发布,于2000年6月发布之后被宣布已经过时。
  • HTML 3.2:1997年1月14日,HTML3.2版本诞生,成为W3C的推荐标准。
  • HTML 4.0:1997年12月18日,HTML4.0版本诞生,由此成为了W3C的推荐标准。
  • HTML 4.01(微小改进):1999年12月24日,HTML4.01版本诞生,成为W3C的推荐标准。
  • HTML 5:2014年10月28日,HTML5版本诞生,H5成为W3C推荐的标准。

HTML5的诞生,标记着互联网时代的发展。比如在HTML5里面诞生的音频、视频、图像、动画等都做了新的标准,它对于浏览器的兼容也是得到了一定的处理,由此可见,HTML的整个历史发展目前为止我们所使用的版本主要是99年诞生的HTML 4.01以及2014年诞生的HTML5。



HTML的应用


时代在进步,科技在发展,这个超文本标记语言从HTML1.0版本发展到如今的HTML5版本,已经有了极大的改善。

在以前的HTML版本中,常用的是对文本的编辑、超链接、图片等,其用途很广泛,许多公司用来创建和发布消息,比如布告、技术手册、各种信函等,都能用它来描述。

HTML是一门严谨的编程语言,有组织性、模块化、规范化的。不过对于开发者而言,不同浏览器HTML的兼容性是考虑的问题。随着HTML5的诞生,我们迎来了一个新的网络世纪,各种动画、音频、视频、图像等炫酷的东西都可以做。还有各种小程序、小游戏以及App的开发应用数不胜数,其兼容性也得到了很大的改善,这意味着对前端的需求以及重视程度都有了极大的改变。

HTML是前端很重要的一环,我们学好它才能在前端大军中齐头并进,在各种应用小程序的使用中游刃有余,未来的美好生活就掌握在你的手中。

【END】