diff --git a/src/Html/Renderables/Element.php b/src/Html/Renderables/Element.php index 8a7894b..06c52e8 100644 --- a/src/Html/Renderables/Element.php +++ b/src/Html/Renderables/Element.php @@ -193,15 +193,29 @@ final class Element implements Renderable if ($this->Contents !== null) { $html .= '>'; - if (! empty($this->Contents)) { - $html .= "\n"; + $First = \reset($this->Contents); + if ( + $First instanceof Element + && ! \array_key_exists(\strtolower($First->name()), self::TEXT_LEVEL_ELEMENTS) + ) { + $html .= "\n"; + } + + if (! empty($this->Contents)) { foreach ($this->Contents as $C) { $html .= $C->getHtml(); + + if ( + $C instanceof Element + && ! \array_key_exists(\strtolower($C->name()), self::TEXT_LEVEL_ELEMENTS) + ) { + $html .= "\n"; + } } } - $html .= "\n"; + $html .= ""; } else { $html .= ' />'; }