HTML中能否将<center>标签放在<body>标签前?正确居中对齐方法是什么
问题1:HTML规范是否允许将<center>标签放在<body>之前?
不允许,该写法完全不符合HTML语法规范。
HTML的根标签<html>下仅允许直接存在<head>和<body>两个子标签:<head>用于存放页面元配置、资源引用等不直接渲染到页面可视区的内容,所有需要展示给用户的元素、内容都必须放在<body>标签内部。将<center>放在<body>外的写法属于DOM结构嵌套错误,哪怕浏览器有容错机制能正常渲染内容,也属于明确的语法错误,作业被判不及格符合判分标准。
问题2:符合规范的居中实现方式
方式1:仅用HTML标签(适合未学习CSS的初学阶段)
将<center>标签移到<body>内部,包裹所有需要居中的内容即可,正确结构示例:
<!DOCTYPE html> <html> <head> <title>filler</title> <meta charset="UTF-8"/> </head> <body> <center> <p>filler</p> </center> </body> </html>
注意:<center>属于HTML4的废弃标签,HTML5标准已经不再推荐使用,仅作为初学阶段过渡方案。
方式2:CSS实现(规范推荐写法)
完全可以通过给<body>添加样式实现居中,最简单的实现方式是给body添加text-align: center样式,该属性会让body内的所有文本、行内元素默认居中对齐:
<!DOCTYPE html> <html> <head> <title>filler</title> <meta charset="UTF-8"/> <style> body { text-align: center; } /* 如果需要让块级元素也居中,可以补充对应样式,比如给p标签加: */ p { width: fit-content; margin: 0 auto; } </style> </head> <body> <p>filler</p> </body> </html>
如果不想写内部样式,也可以直接给body加行内样式:<body style="text-align: center;">,效果完全一致。
内容的提问来源于stack exchange,提问作者joystick
相关产品推荐
相关产品推荐

