Czy możemy dodać <span> wewnątrz tagu H1?

96

Czy użycie tagu span w tagu H1 jest właściwą metodą?

<h1>
    <span class="boardit">Portfolio</span>
</h1>

Wiem, że możemy to napisać w ten sposób ... i również postępuję zgodnie z poniższą składnią na mojej własnej stronie internetowej.

<h1 class="boardit">
  <span>Portfolio</span>
</h1>

Jednak chciałem tylko poznać czystszą formę html.

Codeobsession
źródło
3
@fireeyed Myślę, że chce podążać za tym, co jest słuszne, mam na myśli semantykę tagu.
dpp
2
Nie zapomnij oznaczyć odpowiedzi jako zaakceptowanej, jeśli otrzymałeś informacje, które chcesz
Pranay Rana
Wstawianie rozpiętości do nagłówków powoduje problemy z zawijaniem słów. Czy ktoś jeszcze to zauważył?
Rafael
1
Czy kiedykolwiek próbowałeś zawijać dowolny tekst, który jest w zakresie? A co powiesz na zawijanie tekstu znajdującego się w dowolnym elemencie blokowym? @Rafael
Daniel Springer

Odpowiedzi:

180

Tak, możesz.

HTML4 ma do powiedzenia :

<!ENTITY % heading "H1|H2|H3|H4|H5|H6">
<!--
  There are six levels of headings from H1 (the most important)
  to H6 (the least important).
-->

<!ELEMENT (%heading;)  - - (%inline;)* -- heading -->

I %inline;jest:

<!ENTITY % inline "#PCDATA | %fontstyle; | %phrase; | %special; | %formctrl;">

I %special;zawiera <span>.

Obecny kod HTML ma do powiedzenia :

Treść treści
Frazowanie treści

A zawartość wyrażeń obejmuje <span>.

mu jest za krótkie
źródło
1
Link z „HTML5 ma to do powiedzenia” jest uszkodzony :(
mehulkar
@mehulkar Dzięki za poinformowanie mnie, powinno zostać teraz naprawione.
mu jest za krótkie
30

Tak, możesz. Można go użyć do sformatowania części bloku h1:

<h1>Page <span class="highlight">Title</span></h1>

Jeśli styl dotyczy całego bloku h1, robię to:

<h1 class="highlight">Page Title</h1>
mnsr
źródło
1
@dpp, dlaczego należy unikać używania nazw prezentacyjnych?
nu everest,
3

Tak, zwykle dobrze jest użyć spanwnętrza pliku h1. spanjest elementem wbudowanym, więc zwykle można go używać wewnątrz czegokolwiek (co pozwala na umieszczanie w nim elementów!)

Czasami nie ma na to prostszego sposobu, na przykład jeśli chcesz stylizować tylko część h1 .

Z drugiej strony ... nie rób tego, jeśli nie jest to konieczne, bo jest trochę brzydki :)

Dave
źródło
2

Tak, w porządku, ale dlaczego nie

   <h1 class="boardit">
      Portfolio
   </h1>

Jeśli to wszystko, co robisz?

Simon Sarris
źródło
1
To nie wszystko. Żądanie dotyczy stylizacji tylko części nagłówka.
Daniel Springer
1

Tak, możesz. Rozpiętość jest wyświetlana w tekście, więc nie powinna wpływać na stylizację H1.

geetfun
źródło
0

Tak, możemy użyć tagu span z tagami nagłówka i nie ma w tym nic złego. Rzeczywiście jest to szeroko stosowane do stylizacji tagów nagłówka, szczególnie do kolorowania określonego słowa lub litery.

Touhid Rahman
źródło
0

Tak, możemy użyć tagu span z tagami nagłówka i nie ma w tym nic złego. Rzeczywiście jest to szeroko stosowane do stylizacji tagów nagłówka, szczególnie do kolorowania określonego słowa lub litery.

Touhid Rahman
źródło
-2
<h1 style="display:inline;">Bold text goes here</h1> 
<span style="display:inline;">normal text goes here</span>

Pomyśl w powyższych liniach - Pracowałem dla mnie - użyj display: inline prop

takrishna
źródło
Co to ma wspólnego z pytaniem?
Quentin
3
@Quentin Myślę, że miał na myśli zasugerowanie wymuszenia, aby nagłówek był elementem wbudowanym. Świetny pomysł, jeśli to wykonalne.
Daniel Springer
2
Ta odpowiedź nie powinna być głosowana negatywnie, ponieważ rozwiązuje problem, chociaż nie o to bezpośrednio pytano. +1 za rozwiązanie.
Achala Dissanayake