话不多说,直接来看,你要实现这个功能:点击提交按钮,如果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 元素)。
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,我们一起飞!
*请认真填写需求信息,我们会在24小时内与您取得联系。