整合营销服务商

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

免费咨询热线:

前端:使用CSS干JavaScript的活,Pseu

前端:使用CSS干JavaScript的活,Pseudo-class :empty

话不多说,直接来看,你要实现这个功能:点击提交按钮,如果email没有填写,就提示报错信息,如下图

一般你会这样设计,首先看HTML结构如下,很简单没什么特殊的,

用CSS给他们美化一下,显示如下:

最后JS来控制:

这样已经很好了,但这里有个问题,相信大家都发现了,就是在没有错误的情况下,那个空的红色错误提示框一直显示在那里,这不是我们想要的。

于是正常的思想就是:先把它默认隐藏起来,当提交按钮被点击时,如果发生错误再把它一起显示出来。这就需要用JavaScript来控制了,比如错误发生时,使用Javascript给那个error div多设置一个display:block或者apply一个显示的class

其实有更好的办法,就是我们今天的主角Pseudo-class :empty

看下面的CSS使用:

仅仅需要几行简单的CSS就可以实现,它表示,如果这个error div的内容是空时,就使用这条样式,就是隐藏这个error

最终效果如下,是不是很不错:

最后,它是所有浏览器都支持的,请大家放心使用。

TML 文档是由 HTML 元素定义的。

HTML 元素

HTML 元素指的是从开始标签(start tag)到结束标签(end tag)的所有代码。

注释:开始标签常被称为开放标签(opening tag),结束标签常称为闭合标签(closing tag)。

HTML 元素语法

  • HTML 元素以开始标签起始
  • HTML 元素以结束标签终止
  • 元素的内容是开始标签与结束标签之间的内容
  • 某些 HTML 元素具有空内容(empty content)
  • 空元素在开始标签中进行关闭(以开始标签的结束而结束)
  • 大多数 HTML 元素可拥有属性

嵌套的 HTML 元素

大多数 HTML 元素可以嵌套(可以包含其他 HTML 元素)。

HTML 文档由嵌套的 HTML 元素构成。

HTML 文档实例

<html>
<body>
<p>This is my first paragraph.</p>
</body>
</html>

上面的例子包含三个 HTML 元素。

HTML 实例解释

<p> 元素:

<p>This is my first paragraph.</p>

这个 <p> 元素定义了 HTML 文档中的一个段落。

这个元素拥有一个开始标签 <p>,以及一个结束标签 </p>。

元素内容是:This is my first paragraph。

<body> 元素:

<body>
<p>This is my first paragraph.</p>
</body>

<body> 元素定义了 HTML 文档的主体。

这个元素拥有一个开始标签 <body>,以及一个结束标签 </body>。

元素内容是另一个 HTML 元素(p 元素)。

<html> 元素:

<html>
<body>
<p>This is my first paragraph.</p>
</body>
</html>

<html> 元素定义了整个 HTML 文档。

这个元素拥有一个开始标签 <html>,以及一个结束标签 </html>。

元素内容是另一个 HTML 元素(body 元素)。

不要忘记结束标签

即使您忘记了使用结束标签,大多数浏览器也会正确地显示 HTML:

<p>This is a paragraph
<p>This is a paragraph

上面的例子在大多数浏览器中都没问题,但不要依赖这种做法。忘记使用结束标签会产生不可预料的结果或错误。

注释:未来的 HTML 版本不允许省略结束标签。

空的 HTML 元素

没有内容的 HTML 元素被称为空元素。空元素是在开始标签中关闭的。

<br> 就是没有关闭标签的空元素(<br> 标签定义换行)。

在 XHTML、XML 以及未来版本的 HTML 中,所有元素都必须被关闭。

在开始标签中添加斜杠,比如 <br />,是关闭空元素的正确方法,HTML、XHTML 和 XML 都接受这种方式。

即使 <br> 在所有浏览器中都是有效的,但使用 <br /> 其实是更长远的保障。

HTML 提示:使用小写标签

HTML 标签对大小写不敏感:<P> 等同于 <p>。许多网站都使用大写的 HTML 标签。

隐藏表中的空单元格的边框和背景:

table

{

border-collapse:separate;

empty-cells:hide;

}


属性定义及使用说明

empty-cells 属性设置是否显示表格中的空单元格(仅用于"分离边框"模式)。

默认值:show
继承:yes
版本:CSS2
JavaScript 语法:object.style.emptyCells="hide"

浏览器支持

所有主流浏览器都支持empty-cells属性。

注意:只有指定!DOCTYPE,IE8才支持empty-cells属性。


属性值

描述
hide不在空单元格周围绘制边框。
show在空单元格周围绘制边框。默认。
inherit规定应该从父元素继承 empty-cells 属性的值。

如您还有不明白的可以在下面与我留言或是与我探讨QQ群308855039,我们一起飞!