el *_*ude 7 html css syntax html-parsing
当html代码没有'美化'时,它看起来像
<div><img src="img1.jpg"/><img src="img2.jpg"/></div>
Run Code Online (Sandbox Code Playgroud)
然后这些图片呈现为
|=||=| //no gap between
Run Code Online (Sandbox Code Playgroud)
美化后http://ctrlq.org/beautifier/
<div>
<img src="img1.jpg"/>
<img src="img2.jpg"/>
</div>
Run Code Online (Sandbox Code Playgroud)
他们是这样渲染的
|=| |=| // gap (space) between
Run Code Online (Sandbox Code Playgroud)
因此,相同的代码呈现不同.我想知道如何为html内联元素(和html)做正确的语法?
(内联可能是'块'元素),所以我不知道,如何编写人类可读和正确呈现的代码(至少内联元素之间没有间隙).
有什么建议?=)
有几种选项以易于阅读的方式显示内联块元素,其中没有一个是完美的.
选项1:左浮动
以下是Floats的教程:http://css.maxdesign.com.au/floatutorial/ 强烈建议所有前端开发人员精通这门课程.
选项2:嵌套注释(已发布)
<div>
<img src="img1.jpg"/><!--
--><img src="img2.jpg"/>
</div>
Run Code Online (Sandbox Code Playgroud)
备选方案3(可能在将来):( text-space-collapse: discard;以前white-space-collapse: discard;)
white-space-collapse由于浏览器采用率较低,因此不推荐使用CSS属性(请参阅下面的评论).看来这个属性不再是文本修饰规范的一部分.我也发现text-space-collapse了对未来的考虑.
选项4:不要尝试
使用display时,你不能指望有漂亮的代码:inline-block.我认为你使用内联块和美丽代码的愿望是相互排斥的而不使用float:left.
选项5:添加font-size: 0到父元素.显然这对Safari不起作用,因此该解决方案具有类似的价值white-space-collapse: discard;.
根据您的浏览器,它可能会呈现为空格.你可以试试这个:
<div>
<img src="img1.jpg"/><!--
--><img src="img2.jpg"/>
</div>
Run Code Online (Sandbox Code Playgroud)
<!-- 是一个注释标记,将被浏览器忽略.