我应该在编码时使用'
或"
,例如width='100px'
或width="100px"
。这仅仅是品味问题,还是对浏览器有影响?
我问的原因是,我总是使用""
来处理所有内容,因此当我使用PHP进行编码时,我必须像这样逃避:
echo "<table width=\"100px\>"";
但我发现如果我这样做,我每天可能会节省2分钟:
echo "<table width='100px'>"
击键次数减少。当然我也可以这样做:
echo '<table width="100px">'
HTML应该是什么样的; 'option1'或“option2”?
答案 0 :(得分:6)
是的,这是一个品味问题。它在HTML中没有区别。 Quoting the W3C on SGML and HMTL:
默认情况下,SGML要求使用双引号(ASCII十进制34)或单引号(ASCII十进制39)分隔所有属性值。当值由双引号分隔时,单引号可以包含在属性值中,反之亦然。
...
在某些情况下,作者可以指定没有任何引号的属性值。属性值可能只包含字母(a-z和A-Z),数字(0-9),连字符(ASCII十进制45),句点(ASCII十进制46),下划线(ASCII十进制95)和冒号(ASCII十进制58)。我们建议使用引号,即使可以消除它们。
但请注意,实际上width
属性已弃用,即使在所有主流浏览器中仍然支持该属性。width
属性在{{}中使用时不会被弃用HTML 4.01中的1}}。仅在<table>
,<hr>
,<pre>
,<td>
(来源1,2,3,{{3}中使用时}})。
答案 1 :(得分:1)
HTML5支持以下列四种不同方式指定的属性:
<input disabled>
<input value=yes>
<input type='checkbox'>
<input name="be evil">
答案 2 :(得分:0)
对我而言,最好使用'
而不是""
。 PHP将使用""
解析字符串换行并使用'
更快,因为PHP只会将其视为字符串而不再解析。
答案 3 :(得分:0)
我同意丹尼尔 - 这是一个品味问题。
就个人而言,我在为属性赋值时使用双引号(例如width="100%"
)。另外,如果你处理JSON,严格来说,名称和值应该用双引号(“”)包围。
答案 4 :(得分:-2)
echo '<table width="100px">'
因为其他HTML标签可能带有双引号,所以保持干净,你不需要以这种方式转义引号。