Как выровнять два элемента на одной линии? - PullRequest
0 голосов
/ 10 ноября 2018

Хотелось бы, чтобы заголовок и навигация Acme Web Design были в одной строке?

Я попытался изменить нижнее поле для навигации, чтобы оно располагалось на той же строке, что и заголовок, но это не сработало.

Фрагмент моего файла HTML и CSS:

header {
    background-color: #35424a;
    border-bottom: 2px solid #ff6600;
    color: white;
    padding-top: 30px;
    min-height: 70px;
}

nav {
float: right;
margin-bottom: 30px;
}

nav a {
    color: white;
    text-decoration: none;
    padding: 10px;
}
<header>
    <div class="container">	
		<div id="top header">
			<h1>Acme Web Design</h1>
		</div>
		<nav>
			<a href="index.html">HOME</a>
			<a href="about.html">ABOUT</a>
			<a href="services.html">SERVICES</a>
		</nav>
	</div>
</header>

Вот как это выглядит с моими файлами HTML и CSS:

enter image description here

Вот как я хочу, чтобы это выглядело так:

enter image description here

Ответы [ 4 ]

0 голосов
/ 11 ноября 2018

Вы можете попробовать это с помощью float.

header {
    background-color: #35424a;
    border-bottom: 2px solid #ff6600;
    color: white;
    min-height: 70px;  
    line-height: 70px;
}

nav {
width: auto;
float: right;
margin-bottom: 30px;
}

nav a {
    color: white;
    text-decoration: none;
    padding: 10px;
}
#topheader{
  width: auto;
  float: left;
}
#topheader h1{
  margin: 0;
}
<header>
    <div class="container">	
		<div id="topheader">
			<h1>Acme Web Design</h1>
		</div>
		<nav>
			<a href="index.html">HOME</a>
			<a href="about.html">ABOUT</a>
			<a href="services.html">SERVICES</a>
		</nav>
	</div>
</header>
0 голосов
/ 10 ноября 2018

Вы слышали о flexbox? Это отличный вариант для таких вопросов выравнивания.

.container {
    background-color: #35424a;
    border-bottom: 2px solid #ff6600;
    color: white;
    padding: 0 30px;
    min-height: 70px;

    /* 
      add 'display: flex' 
      (and any additional flex properties) 
      to the containing element
    */

    display: flex;
    flex-direction: row;
    align-items: center;
    flex-wrap: no-wrap;
    justify-content: space-between;
}

nav a {
    color: white;
    text-decoration: none;
    padding: 0 10px;
}
<header>
    <div class="container">	
		<div id="top header">
			<h1>Acme Web Design</h1>
		</div>
		<nav>
			<a href="index.html">HOME</a>
			<a href="about.html">ABOUT</a>
			<a href="services.html">SERVICES</a>
		</nav>
	</div>
</header>

Вот интересный учебник, чтобы узнать больше: https://flexboxfroggy.com/

0 голосов
/ 10 ноября 2018

Вы должны предоставить margin-top вместо margin-bottom для класса nav. Ниже приведена ссылка на JSbin

 header {
            background-color: #35424a;
            border-bottom: 2px solid #ff6600;
            color: white;
            padding-top: 30px;
            min-height: 70px;
          
        }
    header h1 {
            float:left;
        }
    
        nav {
          float:right;
          margin-top:5%
        }
    
        nav a {
            color: white;
            text-decoration: none;
            padding: 10px;
        }
    <header>
        <div class="container">	
    		<span id="top header">
    			<h1>Acme Web Design</h1>
    		</span>
    		<nav>
    			<a href="index.html">HOME</a>
    			<a href="about.html">ABOUT</a>
    			<a href="services.html">SERVICES</a>
    		</nav>
    	</div>
    </header>
0 голосов
/ 10 ноября 2018

Самый простой способ - использовать flexbox на контейнере DIV со следующими настройками:

.container {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

Кстати: у вас есть два идентификатора в вашем элементе 'top header' - одного, безусловно, достаточно ....

.container {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
}

header {
  background-color: #35424a;
  border-bottom: 2px solid #ff6600;
  color: white;
  padding-top: 30px;
  min-height: 70px;
}

nav {
  margin-bottom: 30px;
}

nav a {
  color: white;
  text-decoration: none;
  padding: 10px;
}
<header>
  <div class="container">
    <div id="top header">
      <h1>Acme Web Design</h1>
    </div>
    <nav>
      <a href="index.html">HOME</a>
      <a href="about.html">ABOUT</a>
      <a href="services.html">SERVICES</a>
    </nav>
  </div>
</header>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...