如何将标题和导航放在同一行(不工作)

时间:2017-01-22 01:17:01

标签: html css

基本上发生的事情是我的h1和我的导航元素不在同一条线上。我尝试添加100%的宽度并在h1和nav上浮动左右属性,但它仍然不在同一行。我在h1中加了一些乱码来告诉你,练级很少。救命!

这是我的HTML:

<!doctype html>
    <html>
    <head>
            <title>
            Personality Speakes Before You
            </title>
            <meta charset='utf-8'> 
        <link href="main.css" rel="stylesheet" type="text/css">
    </head>
    <body>
        <header>
        <h1>Anum kdljflkasjfdlajsdlfjslfjsalkdfjld;skjgl;j</h1>
        <nav>
            <ul>
                <li><a href="#">Home</a></li>
                <li><a href="#">About</a></li>
                <li><a href="#">Blog</a></li>
                <li><a href="#">Event</a></li>
                <li><a href="#">Gallery</a></li>
                <li><a href="#">Contact</a></li>
            </ul>
        </nav>
        </header>
    </body>
</html>

这是我的CSS:

 body  {
    background-color: azure;
    font-family: cursive;
}
    header {
    width: 100%;
}
h1 {
    float:left;
    font-size: 30px;
    text-decoration: underline;
}
nav {
    float: right;
}
ul {
        color: darkslategray;
    }

li {
    display: inline;
    font-size: 30px;
    margin-left: 10px;
    margin-right: 10px;
}

谢谢!

2 个答案:

答案 0 :(得分:0)

尝试将您的花车更改为display: inline-block,并将标头设置为white-space: nowrap

body  {
  background-color: azure;
  font-family: cursive;
}
header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  white-space: nowrap;
}
h1 {
  display: inline-block;
  font-size: 30px;
  text-decoration: underline;
}
nav {
  display: inline-block;
}
ul {
  color: darkslategray;
}

li {
  display: inline;
  font-size: 30px;
  margin-left: 10px;
  margin-right: 10px;
}
<header>
  <h1>Anum</h1>
  <nav>
    <ul>
      <li><a href="#">Home</a></li>
      <li><a href="#">About</a></li>
      <li><a href="#">Blog</a></li>
      <li><a href="#">Event</a></li>
      <li><a href="#">Gallery</a></li>
      <li><a href="#">Contact</a></li>
    </ul>
  </nav>
</header>

  

注意:由于字体大小太大,请参阅“完整页面”中的完整效果   模式

答案 1 :(得分:0)

h1和导航太宽,无法放在一条线上,所以它有点取决于你想要发生什么,以及如何解决它。一个简单的解决方法是使用媒体查询在这些元素开始重叠时调整其大小。

body  {
    background-color: azure;
    font-family: cursive;
}
    header {
    width: 100%;
}
h1 {
    float:left;
    font-size: 30px;
    text-decoration: underline;
}
nav {
    float: right;
}
ul {
        color: darkslategray;
    }

li {
    display: inline;
    font-size: 30px;
    margin-left: 10px;
    margin-right: 10px;
}

@media (max-width: 1280px) {
  h1,li {
    font-size: 20px;
  }
}

@media (max-width: 900px) {
  h1,li {
    font-size: 16px;
  }
}

@media (max-width: 800px) {
  h1,li {
    font-size: 12px;
  }
}
<!doctype html>
<html>

<head>
  <title>
    Personality Speakes Before You
  </title>
  <meta charset='utf-8'>
  <link href="main.css" rel="stylesheet" type="text/css">
</head>

<body>
  <header>
    <h1>Anum kdljflkasjfdlajsdlfjslfjsalkdfjld;skjgl;j</h1>
    <nav>
      <ul>
        <li><a href="#">Home</a></li>
        <li><a href="#">About</a></li>
        <li><a href="#">Blog</a></li>
        <li><a href="#">Event</a></li>
        <li><a href="#">Gallery</a></li>
        <li><a href="#">Contact</a></li>
      </ul>
    </nav>
  </header>
</body>

</html>

或者,您可以使用响应式字体大小单位,例如vw,根据页面宽度进行缩放。

* {margin:0;padding:0;}

body  {
    background-color: azure;
    font-family: cursive;
}
    header {
    width: 100%;
}
h1 {
    float:left;
    font-size: 1.5vw;
    text-decoration: underline;
}
nav {
    float: right;
}
ul {
        color: darkslategray;
    }

li {
    display: inline;
    font-size: 1.5vw;
    margin-left: 10px;
    margin-right: 10px;
}
<!doctype html>
<html>

<head>
  <title>
    Personality Speakes Before You
  </title>
  <meta charset='utf-8'>
  <link href="main.css" rel="stylesheet" type="text/css">
</head>

<body>
  <header>
    <h1>Anum kdljflkasjfdlajsdlfjslfjsalkdfjld;skjgl;j</h1>
    <nav>
      <ul>
        <li><a href="#">Home</a></li>
        <li><a href="#">About</a></li>
        <li><a href="#">Blog</a></li>
        <li><a href="#">Event</a></li>
        <li><a href="#">Gallery</a></li>
        <li><a href="#">Contact</a></li>
      </ul>
    </nav>
  </header>
</body>

</html>

或者您可以使用其他技术,例如在浏览器调整大小时将隐藏菜单中的vavigation隐藏起来并且它们不再适合一行。然后使用链接/按钮显示隐藏的菜单。