使 Content_tag 在同一行打印两个元素(Rails)
make Content_tag to print two elements in same line(Rails)
content_tag(:p, "link : ") + content_tag(:p, link_to("abc","www.abc.com"))
这会打印
link:
abc
但是我想让它打印出来
link: abc
<p>
(Paragraph) 是一个块元素,它是 HTML 机制(所以它总是占据容器的整个宽度)。它与 ruby/rails 代码没有任何关系,您无法通过对 ruby 代码进行任何更改来实现它。您可以使用一些 hacky CSS 解决方案来实现。但好的解决方案是使用内联 <span>
标签。它会做你想做的。您可以使用单个 <p>
作为 2 <span>
的根元素
只需在元素上使用 display: inline-block
。这不是 Rails 问题,而是 CSS 怪癖。 p 是一个块元素,因为它占据了父元素的整个宽度,除非它是内联的。
.two p { display: inline-block; }
<div class="one"><p>Hello</p><p>World</p></div>
<div class="two"><p>Hello</p><p>World</p></div>
content_tag(:p, "link : ") + content_tag(:p, link_to("abc","www.abc.com"))
这会打印
link:
abc
但是我想让它打印出来
link: abc
<p>
(Paragraph) 是一个块元素,它是 HTML 机制(所以它总是占据容器的整个宽度)。它与 ruby/rails 代码没有任何关系,您无法通过对 ruby 代码进行任何更改来实现它。您可以使用一些 hacky CSS 解决方案来实现。但好的解决方案是使用内联 <span>
标签。它会做你想做的。您可以使用单个 <p>
作为 2 <span>
只需在元素上使用 display: inline-block
。这不是 Rails 问题,而是 CSS 怪癖。 p 是一个块元素,因为它占据了父元素的整个宽度,除非它是内联的。
.two p { display: inline-block; }
<div class="one"><p>Hello</p><p>World</p></div>
<div class="two"><p>Hello</p><p>World</p></div>