Movatterモバイル変換


[0]ホーム

URL:


Jump to content
WikipediaThe Free Encyclopedia
Search

div and span

From Wikipedia, the free encyclopedia
HTML elements used to define parts of a document
HTML
Comparisons

InHTML, the standardmarkup language for documents designed to be displayed in aweb browser,<div> and<span>tags are elements used to define parts of adocument, so that they are identifiable when a unique classification is necessary. Where other HTML elements such as<p> (paragraph),<em> (emphasis), and so on, accurately represent thesemantics of the content, the additional use of<span> and<div> tags leads to betteraccessibility for readers and easiermaintainability for authors. Where no existing HTML element is applicable,<span> and<div> can valuably represent parts of a document so thatHTML attributes such asclass,id,lang, ordir can be applied.[1][2]

<span> represents aninline portion of a document, for example words within a sentence.<div> represents ablock-level portion of a document such as a few paragraphs, or an image with its caption.<div> stands for division. The elements allow semantic attributes (e.g.lang="en-US"),CSS styling (e.g., color and typography), orclient-side scripting (e.g., animation, hiding, and augmentation) to be applied.[1][2]

<div> defines a 'division' of the document, a block-level item that is more distinct from elements above and below it than a span of inline material.[3]

Examples

[edit]

For example, to make a certain part of text inside a paragraph red,<span> can be used as follows:[clarification needed (also include a<div> example)]

HTMLsyntax
(web code used to add formatting to text)
Rendered output
(as seen by visitors of the webpage)
I am<spanstyle="color: red;">red</span> and I am<spanstyle="color: blue;">blue</span>!

I amred and I amblue!

History

[edit]

The<span> element was introduced toHTML in the internationalization working group's second drafthtml-i18n in 1995. However, it was not until HTML 4.01 that it became part of the HTML language, appearing in the HTML 4 W3C Working Draft in 1997.[4]

<span> was introduced to mark up any inline span of text, because 'a generic container is needed to carry the LANG and BIDI attributes in cases where no other element is appropriate.' It still serves that general purpose, although a much richer range of semantic elements have been defined since then, and there are also many more attributes that may need to be applied.

Differences and default behaviour

[edit]

There are multiple differences between<div> and<span>. The most notable difference is how the elements are displayed. In standard HTML, a<div> is ablock-level element whereas a<span> is aninline element. The<div> block visually isolates a section of a document on the page, and may contain other block-level components. The<span> element contains a piece of information inline with the surrounding content, and may only contain other inline-level components. In practice, the default display of the elements can be changed by the use ofCascading Style Sheets (CSS), although the permitted contents of each element may not be changed. For example, regardless of CSS, a<span> element may not contain block-level children.[5]

Practical usage

[edit]

<span> and<div> elements are used purely to imply a logical grouping of enclosed elements.

There are three main reasons to use<span> and<div> tags withclass oridattributes:

Styling with CSS

[edit]
See also:Cascading Style Sheets andSeparation of content and presentation

It is common for<span> and<div> elements to carryclass orid attributes in conjunction with CSS to apply layout, typographic, color, and other presentation attributes to parts of the content. CSS does not just apply to visual styling: when spoken out loud by avoice browser, CSS styling can affect speech-rate, stress, richness and even position within astereophonic image.

For these reasons, and in support of a more semantic web, attributes attached to elements within HTML should describe their semantic purpose, rather than merely their intended display properties in one particular medium. For example, the HTML in<spanclass="red-bold">password too short</span> is semantically weak, whereas<emclass="warning">password too short</em> uses an<em> element to signify emphasis (appearing as text in italics), and introduces a more appropriate class name. By the correct use of CSS, such 'warnings' may be rendered in a red, bold font on a screen, but when printed out they may be omitted, as by then it is too late to do anything about them. Perhaps when spoken they should be given extra stress, and a small reduction in speech-rate. The second example is semantically richer markup, rather than merely presentational.

Semantic clarity

[edit]

This kind of grouping and labelling of parts of the page content might be introduced purely to make the page more semantically meaningful in general terms. It is impossible to say how theWorld Wide Web will develop in years and decades to come.Web pages designed today may still be in use when information systems that we cannot yet imagine are trawling, processing, and classifying the web. Even today's search engines such asGoogle and others use proprietary information processing algorithms of considerable complexity.

For some years, theWorld Wide Web Consortium (W3C) has been running a majorSemantic Web project designed to make the whole web increasingly useful and meaningful to today's and the future's information systems.

Themicroformats movement is an attempt to build an idea of semanticclasses. For example, microformats-aware software might automatically find an element like<spanclass="tel">123-456-7890</span> and allow for automatic dialing of the telephone number.

Access from code

[edit]

Once the HTML or XHTML markup is delivered to a page-visitor's client browser, there is a chance that client-side code will need to navigate the internal structure (orDocument Object Model) of the web page. The most common reason for this is that the page is delivered withclient-side JavaScript that will produce on-going dynamic behaviour after the page is rendered. For example, if rolling the mouse over a 'Buy now' link is meant to make the price, elsewhere on the page, become emphasized, JavaScript code can do this, but JavaScript needs to identify the price element, wherever it is in the markup. The following markup would suffice:<divclass="price">$45.99</div>. Another example is theAjax programming technique, where, for example, clicking a hypertext link may cause JavaScript code to retrieve the text for a new price quotation to display in place of the current one within the page, without re-loading the whole page. When the new text arrives back from the server, the JavaScript must identify the exact region on the page to replace with the new information.

Automatic testing tools also may need to navigate web page markup using<span> and<div> elements'class orid attributes. Indynamically generated HTML, this may include the use of page testing tools such asHttpUnit, a member of thexUnit family, and load or stress testing tools such asApache JMeter when applied toform-driven web sites.

Overuse

[edit]

The judicious use of<div> and<span> is a vital part of HTML and XHTML markup. However, they are sometimes overused.

Variouslist structures available in HTML may be preferable to a home-made mixture of<div> and<span> elements.[6]

For example, this:

<ulclass="menu"><li>Main page</li><li>Contents</li><li>Help</li></ul>

which produces

  • Main page
  • Contents
  • Help

... is usually preferable instead of this:

<divclass="menu"><span>Main page</span><span>Contents</span><span>Help</span></div>

which produces

Main pageContentsHelp

Other examples of the semantic use of HTML rather than<div> and<span> elements include the use of<fieldset> elements to divide up a web form, the use of<legend> elements to identify such divisions and the use of<label> to identify form<input> elements rather than<div>,<span> or<table> elements used for such purposes.[7]

HTML5 introduced several new elements; a few examples include the<header>,<footer>,<nav> and<figure> elements. The use of semantically appropriate elements provides better structure to HTML documents than<span> or<div>.[8]

See also

[edit]

References

[edit]
  1. ^ab"HTML5: A vocabulary and associated APIs for HTML and XHTML". W3C. 4.4 Grouping content. Retrieved16 September 2014.
  2. ^ab"HTML5: A vocabulary and associated APIs for HTML and XHTML". W3C. 4.5 Text-level semantics. Archived fromthe original on 1 August 2015. Retrieved16 September 2014.
  3. ^"HTML <div> Tag".W3Schools. Retrieved22 March 2018.
  4. ^"HTML/Elements/span - Web Education Community Group". 2013-06-13. Retrieved2013-11-14.[dead link]
  5. ^"HTML 5.1: 4. The elements of HTML".W3C. Retrieved3 August 2017.
  6. ^Harold, Elliotte Rusty (2008).Refactoring HTML. Addison Wesley. p. 184.ISBN 978-0-321-50363-3.There is no simple way to find all the unidentified lists in a site. [...] They can be marked up in dozens of different ways: as paragraphs,divs, tables, [etc]. Once you've found a list, marking up the individual items is easy. Just use<ul>,<ol>, or<dl> instead of the current wrapper element. [...] For example to remove the bullets add this rule to the page's CSS stylesheet: [...]
  7. ^Raggett, Dave; Arnaud Le Hors; Ian Jacobs (1999)."Adding structure to forms: the FIELDSET and LEGEND elements".HTML 4.01 Specification.W3C. Retrieved12 July 2010.TheFIELDSET element allows authors to group thematically related controls and labels. Grouping controls makes it easier for users to understand their purpose while simultaneously facilitating tabbing navigation for visual user agents and speech navigation for speech-oriented user agents. The proper use of this element makes documents more accessible.
  8. ^van Kesteren, Anne (2010)."HTML5 differences from HTML4". W3C. Retrieved30 June 2010.

External links

[edit]
Retrieved from "https://en.wikipedia.org/w/index.php?title=Div_and_span&oldid=1281903904"
Categories:
Hidden categories:

[8]ページ先頭

©2009-2025 Movatter.jp