CSS-макет — встроенный блок


Оглавление

    Показать оглавление


Отображение: значение встроенного блока

По сравнению с display: inline, основной разница в том, что display: inline-block позволяет чтобы установить ширину и высоту элемента.

Кроме того, с помощью display: inline-block, верхние и нижние поля/отступы соблюдаются, но с display: inline это не так.

По сравнению с display:block, основной разница в том, что display: inline-block делает не добавлять перенос строки после элемента, чтобы элемент мог располагаться рядом с другим элементы.

В следующем примере показано различное поведение display: inline, display: inline-block. и display: block:

Пример

 span.a {
  display: inline; /* the default for span */
  
  width: 100px;
  height: 100px;
  
  padding: 5px;
  border: 1px solid blue; 
  background-color: yellow; 
}
span.b {
    display: 
  inline-block;
  width: 100px;
  height: 
  100px;
  padding: 5px;
  border: 1px 
  solid blue; 
  background-color: yellow; 
}

  span.c {
  display: block;
  width: 
  100px;
  height: 100px;
  padding: 5px;
  
  border: 1px solid blue; 
  background-color: yellow; 
}

Попробуйте сами →

<!DOCTYPE html>
<html>
<head>
<style>
span.a {
  display: inline; /* the default for span */
  width: 100px;
  height: 100px;
  padding: 5px;
  border: 1px solid blue;  
  background-color: yellow; 
}

span.b {
  display: inline-block;
  width: 100px;
  height: 100px;
  padding: 5px;
  border: 1px solid blue;    
  background-color: yellow; 
}

span.c {
  display: block;
  width: 100px;
  height: 100px;
  padding: 5px;
  border: 1px solid blue;    
  background-color: yellow; 
}
</style>
</head>
<body>

<h1>The display Property</h1>

<h2>display: inline</h2>
<div>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum consequat scelerisque elit sit amet consequat. Aliquam erat volutpat. <span class="a">Aliquam</span> <span class="a">venenatis</span> gravida nisl sit amet facilisis. Nullam cursus fermentum velit sed laoreet. </div>

<h2>display: inline-block</h2>
<div>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum consequat scelerisque elit sit amet consequat. Aliquam erat volutpat. <span class="b">Aliquam</span> <span class="b">venenatis</span> gravida nisl sit amet facilisis. Nullam cursus fermentum velit sed laoreet. </div>

<h2>display: block</h2>
<div>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Vestibulum consequat scelerisque elit sit amet consequat. Aliquam erat volutpat. <span class="c">Aliquam</span> <span class="c">venenatis</span> gravida nisl sit amet facilisis. Nullam cursus fermentum velit sed laoreet. </div>

</body>
</html>



Использование встроенного блока для создания навигационных ссылок

Одно из распространенных вариантов использования display: inline-block заключается в отображении элементов списка горизонтально, а не вертикально. Следующее пример создает горизонтальные навигационные ссылки:

Пример

 .nav {
  background-color: yellow; 
  list-style-type: none;
  text-align: 
  center; 
  padding: 0;
  margin: 0;
}
.nav li {
  display: inline-block;
    font-size: 20px;
  padding: 
  20px;
}

Попробуйте сами →

<!DOCTYPE html>
<html>
<head>
<style>
.nav {
  background-color: yellow; 
  list-style-type: none;
  text-align: center;
  margin: 0;
  padding: 0;
}

.nav li {
  display: inline-block;
  font-size: 20px;
  padding: 20px;
}
</style>
</head>
<body>

<h1>Horizontal Navigation Links</h1>
<p>By default, list items are displayed vertically. In this example we use display: inline-block to display them horizontally (side by side).</p>
<p>Note: If you resize the browser window, the links will automatically break when it becomes too crowded.</p>

<ul class="nav">
  <li><a href="#home">Home</a></li>
  <li><a href="#about">About Us</a></li>
  <li><a href="#clients">Our Clients</a></li>  
  <li><a href="#contact">Contact Us</a></li>
</ul>

</body>
</html>