为何标题(titulo)无法居中?justify、align类属性无效求助
问题:标题“SCREAM”无法居中
我尝试将标题“SCREAM”居中,已经用了justify、align及text-align属性,但标题仍未居中。之前在其他项目中这些方法都能正常生效,现在找不到问题所在,附上尝试过的CSS和HTML代码,希望得到帮助或建议,谢谢!
CSS代码
*{ box-sizing: border-box; margin: 0; padding: 0; font-family: 'Saira Condensed', sans-serif; font-size: 40px; } /* TITULO */ .titulo { background-color: #ffffff; text-align: center; color: rgb(0, 0, 0); padding: 50px; justify-content: center; display: flex; align-items: center; } /* NAVEGADOR */ .navegador { background-color: #ffffff; padding: 10px; text-align: center; } .navegador ul { list-style: none; margin: 0; padding: 0; } .navegador li { display: inline-block; margin: 0 20px; } .navegador a { text-decoration: none; color: #000000; font-weight: bold; font-size: 30px; transition: all 0.3s; display: inline-block; padding: 10px 20px; } .navegador a:hover { color: #ffffff; transform: scale(1.1); background-color: #000000; clip-path: circle(50% at 50% 50%); }
HTML代码
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>SCREAM</title> <link href="style.css" rel="stylesheet" type="text/css"/> <link rel="preconnect" href="https://fonts.googleapis.com"> <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin> <link href="https://fonts.googleapis.com/css2?family=Saira+Condensed:wght@100&display=swap" rel="stylesheet"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css"> </head> <body> <section id="titulo"> <h1>SCREAM</h1> </section> <main id="volver"> <header class="header"> <ul class="navegador"> <li><a href="#productos">Productos</a></li> <li><a href="#nosotros">Nosotros</a></li> <li><a href="#categorias">Categorias</a></li> <li><a href="#sumate">Sumate</a></li> </ul> </nav> </header> </body> </html>
解决方案
问题核心是选择器不匹配:
- CSS里定义的是类选择器
.titulo,但HTML中对应容器用的是ID属性id="titulo",两者无法关联,导致居中样式根本没应用到标题容器上。
解决方法二选一:
- 修改CSS,将类选择器改为ID选择器:
#titulo { background-color: #ffffff; text-align: center; color: rgb(0, 0, 0); padding: 50px; /* 单行文本仅需text-align:center即可,以下flex属性可省略 */ /* justify-content: center; display: flex; align-items: center; */ } - 修改HTML,将section的ID改为class:
<section class="titulo"> <h1>SCREAM</h1> </section>
额外提示:如果仅需<h1>文本居中,也可直接给<h1>设置text-align:center,但确保选择器能正确匹配目标元素是关键。
内容的提问来源于stack exchange,提问作者user21939301
相关产品推荐
相关产品推荐

