2 zzzcsd zzzcsd 于 2016.03.26 09:51 提问

button元素里面,能嵌套别的东西吗?
 <button type="submit">
            <span class="usa-search-submit-text">Search</span>
</button>

这种写法,规范吗?
button里面,原则上是不能嵌套别的东西吧?
如果是不嵌套,什么才是最佳实践呢?

6个回答

wkakasa
wkakasa   2016.03.26 10:37

可以的,你search不都显示出来了。只要达到自己的效果就是了呗

showbo
showbo   Ds   Rxr 2016.03.26 12:23

button可以,input type="button"不行,input是单标签

Royal_lr
Royal_lr   Ds   Rxr 2016.03.26 15:41

一般不这么写,,都是把butto放在span中的或者div中

diaoliwei2
diaoliwei2   Rxr 2016.03.26 19:05

可以写,但不规范。。

perhapschen
perhapschen   2016.03.27 17:02

原理上是可以的,不过因为浏览器的差异,一般在表单中不用button标签,可使用input代替

u012392706
u012392706   2016.03.27 22:07

如果你只是因为原生的button样式而被困扰,我想你可能多虑了,button标签的样式也是允许你修改的,包括button标签的文本样式,也就没必要去刻意加入调整的标签,如你上面的span去控制文本的样式了。要是你还是觉得button不好调样式,索性就换成别的,如div、span,然后再绑定一个触发事件,如onclick,调用它应有的js方法就好了。这样的规范不用太过纠结,因为前端的实现给予开发者很大的自主能力,在所需要的浏览器及相应版本下显示正常,在规定必须满足的浏览器及版本中显示良好即可。
你上面的代码,也可以改为:

 <button type="submit" class="usa-search-submit-text">Search</button>
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!