一、不通过JS如何提交一个表单?
html5 form表单提交 type=“submit”
<form name=”form” method="post" action="#">
<input type="submit" name="submit" value="提交">
</form>
二、不考虑其它因素,下面哪种的渲染性能比较高?
.box a{
...
}
a{
...
}
-
css的浏览器渲染机制是——选择器从右向左查询
-
CSS选择器匹配元素是逆向解析
因为所有样式规则可能数量很大,而且绝大多数不会匹配到当前的 DOM 元素(因为数量很大所以一般会建立规则索引树),所以有一个快速的方法来判断「这个 selector 不匹配当前元素」就是极其重要的。
如果从【水果】也就是【左】方向开始找,我们就会找3次。但是如果从【橘子】开始找,我们只需要一次就好了。 这是一个最简单的例子,根据这个例子我们也能看出,我们子元素只能有一个父元素,但是父元素可以有一堆子元素,所以还是从子元素,也就是【右】方向找会节约时间。
三、伪类与伪元素有什么区别?
1、伪类
-
更多的定义的是状态。
常见的伪类有
:hover,:active,:focus,:visited:link:not:first-child:last-child等等。 -
伪类其实是弥补了CSS选择器的不足,用来更方便地获取信息。
/*html*/
<ul>
<li>11111</li>
<li>22222</li>
</ul>
/* 选择器不能直接选取第一个子元素
/ 伪类弥补了选择器的不足 */
//css
li:first-child {
color: red;
}
2、伪元素
-
伪元素,不存在于DOM树中的虚拟元素,它们可以像正常的html元素一样定义css,但无法使用JavaScript获取。
-
常见伪元素有
::before::after::first-letter::first-lineb等等。 -
伪元素本质上是创建了一个虚拟容器(元素),我们可以在其中添加内容或样式。
/*html*/
<p>
Hello, World
</p>
/*css*/
p::first-letter {
color: red;
}
//最终结果:
<p>
<span class="first-letter">H</span>ello, World
</p>
.first-letter {
color: red;
}