【问题标题】:Line breaks causes spaces in the html换行导致 html 中出现空格
【发布时间】:2014-10-06 18:44:58
【问题描述】:

在我的 PhpStorm 7 中,像这样对一些元素(每个元素)进行换行:

<input type="text">
<input type="text">
<input type="text">

在我渲染的 html 页面(包含所有导航器)中的标签之间造成一些空间并破坏我的所有网格:

我重置了所有边距等。所以我的 css 中有 0 个边距或其他东西。

当我把它们放在同一行时,空格消失了:

<input type="text"><input type="text"><input type="text">


在我的检查器中(没有边距,只有填充和细边框)。他们有所有默认的CSS:

我只是找不到如何配置它。这是一个 CakePHP 视图。

【问题讨论】:

标签: cakephp


【解决方案1】:

这是空白以及浏览器如何处理空白的常见问题。类似的问答还有很多,like this one

基本上你可以使用display: blockfloat: left,或者如果你使用模板渲染引擎,它们可能会提供帮助删除空格,比如Smarty中的{strip}或Twig中的{% spaceless %}。在 HTML、google 和搜索 SO 中还有其他方法可以实现这一点。

【讨论】:

  • 我不认为问题来自 css 或浏览器,因为当我将它们放在我的代码中的同一行时,我不再有那些空格了。出于同样的原因,使用不同的模板对我来说不是解决方案。
  • 技术上没有问题,这是预期的(某种)行为。空格是字符的类别,在您的情况下,空格是换行符,由浏览器呈现为输入之间的一个小空格。在不触及 css 的情况下摆脱它的唯一方法是从字面上删除它们并将它们全部放在同一行,就像你做的那样。或者,上面描述的还有其他方法。
  • @HaJa 信不信由你,但它 是由浏览器引起的,这是一个已知的、古老的“问题”,只是 read through the existing questions here on SO 或 HTML 规范如果你觉得无聊。
  • 最好相信它...... :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-04-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多