Why is the
tag deprecated in HTML?

前端 未结 12 1646
攒了一身酷
攒了一身酷 2020-11-22 01:36

I am just curious as to why the

tag in HTML was deprecated.

The

was a simple way of quickly center-aligning b
相关标签:
12条回答
  • 2020-11-22 02:11

    You can still use this with XHTML 1.0 Transitional and HTML 4.01 Transitional if you like. The only other way (best way, in my opinion) is with margins:

    <div style="width:200px;margin:auto;">
      <p>Hello World</p>
    </div>
    

    Your HTML should define the element, not govern its presentation.

    0 讨论(0)
  • 2020-11-22 02:12

    For text and images you can use text-align:

    <div style="text-align: center;">
        I'm centered.
    </div>
    
    0 讨论(0)
  • 2020-11-22 02:14

    What I do is take common tasks like centering or floating and make CSS classes out of them. When I do that I can use them throughout any of the pages. I can also call as many as I want on the same element.

    .text_center {text-align: center;}
    .center {margin: auto 0px;}
    .float_left {float: left;}
    

    Now I can use them in my HTML code to perform simple tasks.

    <p class="text_center">Some Text</p>
    
    0 讨论(0)
  • 2020-11-22 02:17

    I still use the <center> tag sometimes because nothing in CSS works as well. Examples of trying to use a <div> trick and failing:

    <div style="text-align: center;">This div is centered, but it's a simple example.</div>
    <br />
    <div style="text-align: center;"><table border="1"><tr><td>&lt;div style="text-align: center;"&gt; didn't center correctly.</td></tr></table></div>
    <br />
    <div style="text-align: center;margin-left:auto;margin-right:auto"><table border="1"><tr><td>&lt;div style="text-align: center;margin-left:auto;margin-right:auto"&gt; still didn't center either</td></tr></table></div>
    <br />
    <center><table border="1"><tr><td>Actually Centered with &lt;center&gt; tag</td></tr></table></center>

    <center> gets results. To use CSS instead, you sometimes have to put CSS in several places and mess with it to get it to center right. To answer your question, CSS has become a religion with believers and followers who shunned <center> <b> <i> <u> as blasphemy, unholy, and much too simple for the sake of their own job security. And if they try to take your <table> away from you, ask them what the CSS equivalent of the colspan or rowspan attribute is.

    It is not the abstract or bookish truth, but the lived truth that counts.
    -- Zen

    0 讨论(0)
  • 2020-11-22 02:24

    It's intended that markup, i.e. the HTML tags, represent meaning and structure, not appearance. It was badly mixed up in early versions of HTML but the standards people are trying to clean that up now.

    One problem with letting tags control appearance is that your pages don't play well with devices for the handicapped, such as screen readers. It also leads to having lots and lots of tags in your text that don't help clarify the meaning, but rather clutter it with information of a different level.

    So CSS was thought up to move formatting/display to a different language, which is separate from the text and can easily be kept that way. Among other things, this allows switching stylesheets to change the appearance of a Web page without touching the other markup. And to be able to do that for lots of pages in one swell foop.

    The tools CSS gives you to do this are not always elegant, I'm on your side there. For instance, there is no way to do effective vertical centering. And horizontal centering, if it's not just text amenable to text-align, is not much better.

    You have the choice of doing easy, effective and muddled or clean, elegant and cumbersome. I don't understand why Web developers put up with this mess, but I guess they're happy to have at least a chance to get their stuff done.

    0 讨论(0)
  • 2020-11-22 02:25

    The Least Popular Answer

    1. A deprecated tag is not necessarily a bad tag;
    2. There are tags that deal with presentation logic, center is one of them;
    3. A center tag is not the same as a div with text-align:center;
    4. The fact that you have another way to do something doesn't make it invalid.

    Let me explain because there are notorious downvoters here who will think I'm defending oldschool HTML4 or something. No I'm not. But the debate around center is simply a trend war, there is no real reason to ditch a tag that serves a valid purpose well.

    So let's see the major arguments against it.

    • "It describes presentation, not semantics!"
      No. It describes a logical arrangement - and yes, it has a default appearance, just as other tags like <p> or <ul> do. But the point is the enclosed part's relation to its surroundings. Center says "this is something we separate by visually different positioning".

    • "It's not valid"
      Yes it is. It's just deprecated, as in, could be removed later. For 15+ years now. And it's not going anywhere, apparently. There are major sites that use this tag because it's very readable and to the point - and those are the same reasons we like HTML5 tags for.

    • "It's not supported in HTML5"
      It's one of the most widely supported tags, actually. MDN says "its use is discouraged since it could be removed at any time" - good point, but that day may never come, to quote a classic. Center was already deprecated in like 2004 or so - it's still here and still useful.

    • "It's oldschool"
      Shoelaces are oldschool too. New methods don't invalidate the old. You want to feel progressive and modern: fine. But don't make it the law.

    • "It's stupid / awkward / lame / tells a story about you"
      None of these. It's like a hammer: one tool for a specific job. There are other tools for the same job and other jobs for the same tool; but it was created to solve a certain problem and that problem is still around so we might as well just use a dedicated solution.

    • "You shouldn't do this, because, CSS"
      Centering can absolutely be achieved by CSS but that's just one way, not the only one, let alone the only appropriate one. Anything that's supported, working and readable should be ok to use. Also, the same argument happened before flexboxes and CSS grids, which is funny because back then there was no CSS way to achieve what center did. No, text-align:center is not the same. No, margin:auto is not the same. Anyone who argued against center tags before flexbox simply didn't know enough about CSS.

    TL;DR:

    The only reason not to use <center> is because people will hate you.

    0 讨论(0)
提交回复
热议问题