You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

容器内段落背景色不显示及横幅样式实现求助

问题描述

我在学习过程中遇到了困惑,当前问题是:.sitetitle容器中的段落背景色无法显示。我想为这段随机轮换的文本创建一个全屏横幅背景,高度设为400px,让文本置于背景之上。

相关代码片段

HTML/PHP 代码

<dev class="sitetitle">
<dev class="sitetitle-text">
    <p>
        Wir bieten
        <?php
        $welcomewords = array(
            "Walkinggruppen", "Selbstverteidigungskurse", "Ganzkörperworkouts", "Aquafitness", "Mitterkindkurse", "Rehasport", "Fitness"
        );
        echo $welcomewords[array_rand($welcomewords)]
        ?>

    </p>
</dev>

对应CSS代码

.news{
background-color: #34495e;
}
.sitetitle{
    color: rgb(209, 195, 0);
    font-size: 60px;
    background-color: #718daa;
    background-position: center;
    
}

完整代码

完整CSS代码

.news {
  background-color: #34495e;
}

.sitetitle {
  color: rgb(209, 195, 0);
  font-size: 60px;
  background-color: #718daa;
  background-position: center;
}


/* Hier fängt die Navbar an */

* {
  box-sizing: border-box;
}

body {
  font-family: 'Montserrat', sans-serif;
  line-height: 1.6;
  margin: 0;
  min-height: 100vh;
}

ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

h2,
h3,
a {
  color: #34495e;
}

a {
  text-decoration: none;
}

.logo {
  margin: 0;
  font-size: 1.45em;
}

.main-nav {
  margin-top: 5px;
}

.logo a,
.main-nav a {
  padding: 10px 15px;
  text-transform: uppercase;
  text-align: center;
  display: block;
}

.main-nav a {
  color: #34495e;
  font-size: .99em;
}

.main-nav a:hover {
  color: #718daa;
}

.header {
  padding-top: .5em;
  padding-bottom: .5em;
  border: 1px solid #a2a2a2;
  background-color: #f4f4f4;
  -webkit-box-shadow: 0px 0px 14px 0px rgba(0, 0, 0, 0.75);
  -moz-box-shadow: 0px 0px 14px 0px rgba(0, 0, 0, 0.75);
  box-shadow: 0px 0px 14px 0px rgba(0, 0, 0, 0.75);
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
}


/* ================================= 
      Media Queries
    ==================================== */

@media (min-width: 769px) {
  .header,
  .main-nav {
    display: flex;
  }
  .header {
    flex-direction: column;
    align-items: center;
    width: 80%;
    margin: 0 auto;
    max-width: 1150px;
  }
}

@media (min-width: 1025px) {
  .header {
    flex-direction: row;
    justify-content: space-between;
  }
}


/* und hier endet sie */

完整HTML/PHP代码

<html>

<head lang="de">
  <title>Start [Gymnastikriege Dedenbach]</title>
  <link rel="stylesheet" href="stylesheet.css">
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <link rel="stylesheet" href="style.css">

</head>

<body>
  <header class="header">
    <h1 class="logo"><a href="#">GR#Dedenbach</a></h1>
    <ul class="main-nav">
      <li><a href="index.php">Home</a></li>
      <li><a href="#">Kurse</a></li>
      <li><a href="#">News</a></li>
      <li><a href="#">Anmelden</a></li>
    </ul>
  </header>
  <dev class="sitetitle">
    <dev class="sitetitle-text">
      <p>
        Wir bieten
        <?php
                    $welcomewords = array(
                        "Walkinggruppen", "Selbstverteidigungskurse", "Ganzkörperworkouts", "Aquafitness", "Mitterkindkurse", "Rehasport", "Fitness"
                    );
                    echo $welcomewords[array_rand($welcomewords)]
                    ?>

      </p>
    </dev>
  </dev>
  <dev class="sitecontent">
    <dev class="showroom">
      <p> ich bin der Showroom
        <p>
    </dev>
    <dev class="news">
      <p>Hier kommen "news"

    </dev>
  </dev>
</body>

解决方案

1. 修复核心标签错误

你代码里的<dev>是拼写错误,正确标签应为<div>,这是样式不生效的主要原因。

2. 调整CSS实现全屏横幅

修改.sitetitle的CSS属性,添加宽度、高度和布局规则,实现全屏400px高的横幅,并让文本居中:

.sitetitle {
  color: rgb(209, 195, 0);
  font-size: 60px;
  background-color: #718daa;
  width: 100%; /* 全屏宽度 */
  height: 400px; /* 设置指定高度 */
  display: flex; /* 启用弹性布局 */
  justify-content: center; /* 水平居中 */
  align-items: center; /* 垂直居中 */
  margin: 0; /* 移除默认外边距 */
}

.sitetitle-text p {
  margin: 0; /* 移除段落默认外边距,避免多余间距 */
}

3. 修正后的HTML结构

将所有错误的<dev>替换为<div>,同时闭合未结束的<p>标签:

<div class="sitetitle">
  <div class="sitetitle-text">
    <p>
      Wir bieten
      <?php
                  $welcomewords = array(
                      "Walkinggruppen", "Selbstverteidigungskurse", "Ganzkörperworkouts", "Aquafitness", "Mitterkindkurse", "Rehasport", "Fitness"
                  );
                  echo $welcomewords[array_rand($welcomewords)]
                  ?>
    </p>
  </div>
</div>
<div class="sitecontent">
  <div class="showroom">
    <p> ich bin der Showroom</p>
  </div>
  <div class="news">
    <p>Hier kommen "news"</p>
  </div>
</div>

完成以上修改后,就能得到你想要的全屏横幅效果,背景色正常显示,文本居中悬浮在背景之上。


内容的提问来源于stack exchange,提问作者Sky Plex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 21:05:24