Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Can we add a <span> inside an <h1> tag?

Tags:

html

Is it a proper method to use a <span> tag inside an <h1> tag?

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

I know we can write it in this way...and am also following the below syntax in my own website..

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

However, I Just wanted to know the cleaner form of html..

like image 962
Codeobsession Avatar asked Sep 23 '11 04:09

Codeobsession


4 Answers

Yes you can.

HTML4 has this to say:

<!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 -->

And %inline; is:

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

And %special; includes <span>.

The current HTML has this to say:

Content contents
Phrasing content

And Phrasing content includes <span>.

like image 103
mu is too short Avatar answered Nov 06 '22 14:11

mu is too short


Yes you can. It can be used to format a part of a h1 block:

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

If the style applies to the entire h1 block, I do this:

<h1 class="highlight">Page Title</h1>
like image 42
mnsr Avatar answered Nov 06 '22 16:11

mnsr


Yes, it's typically fine to use a span inside of an h1. span is an inline element, so it's typically okay to use it inside anything (that allows elements inside it!)

And there's not really a cleaner way to do it sometimes, say if you want to style only part of the h1.

On the other hand... don't do it if it's not necessary, as it is a little ugly : )

like image 3
Dave Avatar answered Nov 06 '22 16:11

Dave


Yes that's fine, but why not

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

If thats all you're doing?

like image 2
Simon Sarris Avatar answered Nov 06 '22 16:11

Simon Sarris