Главная страница  /  Занятия  /  #4  /  Свойство display

Свойство display

Задание:

Рассказать об основных значениях свойства display элементов html-документа.

Значение none:

Элемент, имеющий значение none свойства display, скрыт.

Файл index.html:

   <!DOCTYPE html>
   
   <html lang="ru">
   
    <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <title>Значение none свойства display</title>
     <link rel="stylesheet" href="styles.css">
     <script src="scripts.js"></script>
    </head>
   
    <body>
     <div id="divElement">
      Блок
     </div>
     <button id="hideShowDivElementButton">Скрыть блок</button>
    </body>
   
   </html>

Файл styles.css:

   #divElement			{ border: 1px solid #ff0000; padding: 20px; margin-bottom: 10px; }
   #hideShowDivElement		{ width: 150px; height: 30px; }

Файл scripts.js:

   window.onload = function()
   {
    document.getElementById('hideShowDivElementButton').onclick = function()
    {
     document.getElementById('divElement').style.display == 'none' ? document.getElementById('divElement').style.display = 'block' : document.getElementById('divElement').style.display = 'none';
     document.getElementById('divElement').style.display == 'none' ? document.getElementById('hideShowDivElementButton').innerHTML = 'Показать блок' : document.getElementById('hideShowDivElementButton').innerHTML = 'Скрыть блок';
    };
   };

Результат:

Пример использования значения none свойства display можно посмотреть здесь.

Значение block:

Элементы, имеющие значение block свойства display:

Файл index.html:

   <!DOCTYPE html>
   
   <html lang="ru">
   
    <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <title>Значение block свойства display</title>
     <link rel="stylesheet" href="styles.css">
     <script src="scripts.js"></script>
    </head>
   
    <body>
     <div id="wrapper">
      <div id="firstBlock"></div>
      <div id="secondBlock"></div>
     </div>
     <button id="changeDivWidthButton">Расширить розовый блок</button>
    </body>
   
   </html>

Файл styles.css:

   #divElement			{ border: 1px solid #ff0000; padding: 20px; margin-bottom: 10px; }
   #hideShowDivElement		{ width: 150px; height: 30px; }
   
   #wrapper			{ width: 100%; border: 1px solid #000000; margin-bottom: 10px; }
   #firstBlock			{ width: 50%; height: 20px; background-color: #ffe0e0; border: 1px solid #ff0000; box-sizing: border-box; }
   #secondBlock			{ width: 100%; height: 20px; background-color: #e0ffe0; border: 1px solid #00ff00; box-sizing: border-box; }

Файл scripts.js:

   window.onload = function()
   {
    document.getElementById('firstBlock').style.width = '50%';
    document.getElementById('changeDivWidthButton').onclick = function()
    {
     document.getElementById('firstBlock').style.width == '50%' ? document.getElementById('changeDivWidthButton').innerHTML = 'Сузить розовый блок' : document.getElementById('changeDivWidthButton').innerHTML = 'Расширить розовый блок';
     document.getElementById('firstBlock').style.width == '50%' ? document.getElementById('firstBlock').style.width = '100%' : document.getElementById('firstBlock').style.width = '50%';
    };
   };

Результат:

Пример использования значения block свойства display можно посмотреть здесь.

Значение inline:

Если элементы имеют значение inline свойства display, то:

Файл index.html:

   <!DOCTYPE html>
   
   <html lang="ru">
   
    <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <title>Значение inline свойства display</title>
     <link rel="stylesheet" href="styles.css">
    </head>
   
    <body>
     <div id="wrapper">
      <span id="firstInlineElement">Инлайн-элемент #1</span>
      <span id="secondInlineElement">Инлайн-элемент #2</span><span id="thirdInlineElement">Инлайн-элемент #3</span>
      <div id="blockElement">Блочный элемент</div>
      <span id="fourthInlineElement">
       Инлайн-элемент #4, а&nbsp;внутри&nbsp;– очень длинная строка очень длинная строка очень длинная строка очень длинная строка очень длинная строка очень длинная строка очень длинная строка очень длинная строка очень длинная строка очень длинная строка.
      </span>
     </div>
    </body>
   
   </html>

Файл styles.css:

   body					{ font-size: 14px; line-height: 20px; }
   
   #wrapper				{ width: 400px; border: 1px solid #000000; }
   #firstInlineElement			{ border: 1px solid #00ff00; }
   #secondInlineElement			{ border: 1px solid #00ffff; }
   #thirdInlineElement			{ border: 1px solid #000088; }
   #blockElement			{ border: 1px solid #0000ff; width: 50%; height: 20px; }
   #fourthInlineElement			{ border: 1px solid #ff0000; }

Результат:

Пример использования значения inline свойства display можно посмотреть здесь.

Значение inline-block:

Элемент, имеющий значение inline-block свойства display:

Файл index.html:

   <!DOCTYPE html>
   
   <html lang="ru">
   
    <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <title>Значение inline-block свойства display</title>
     <link rel="stylesheet" href="styles.css">
    </head>
   
    <body>
     <div id="wrapper">
      <span id="firstInlineBlockElement">Инлайн-элемент #1</span>
      <span id="secondInlineBlockElement">Инлайн-элемент #2</span>
      <span id="thirdInlineBlockElement">Инлайн-элемент #3</span>
      <span id="fourthInlineBlockElement">Инлайн-элемент #4<br>с&nbsp;переносом строки</span>
     </div>
    </body>
   
   </html>

Файл styles.css:

   body					{ font-size: 14px; line-height: 20px; }
   
   #wrapper				{ border: 1px solid #000000; height: 100px; }
   #firstInlineBlockElement		{ display: inline-block; border: 1px solid #00ff00; vertical-align: middle; }
   #secondInlineBlockElement		{ display: inline-block; border: 1px solid #00ffff; vertical-align: middle; }
   #thirdInlineBlockElement		{ display: inline-block; border: 1px solid #000088; vertical-align: middle; }
   #fourthInlineBlockElement		{ display: inline-block; border: 1px solid #ff0000; vertical-align: middle; }

Результат:

Пример использования значения inline-block свойства display можно посмотреть здесь.

Значения table, table-row, table-cell:

Файл index.html:

   <!DOCTYPE html>
   
   <html lang="ru">
   
    <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <title>Значения table, table-row, table-cell свойства display</title>
     <link rel="stylesheet" href="styles.css">
    </head>
   
    <body>
     <div id="wrapper">
      <div id="firstBlockElement">Блочный элемент #1</div>
      <div id="secondBlockElement">Блочный элемент #2</div>
      <div id="thirdBlockElement">Блочный элемент #3</div>
     </div>
   
     <form>
      <div>
       <label>Имя:</label>
       <input>
      </div>
      <div>
       <label>Фамилия:</label>
       <input>
      </div>
     </form>
   
    </body>
   
   </html>

Файл styles.css:

   body									{ font-size: 14px; line-height: 20px; }
   
   #wrapper								{ display: table-cell; width: 600px; border: 1px solid #000000; height: 100px; vertical-align: middle; }
   #firstBlockElement							{ display: block; float: left; border: 1px solid #00ff00; }
   #secondBlockElement							{ display: block; float: left; border: 1px solid #00ffff; }
   #thirdBlockElement							{ display: block; float: left; border: 1px solid #000088; }
   
   form									{ display: table; margin-top: 20px; }
   form			div						{ display: table-row; }
   form			label						{ display: table-cell; }
   form			input						{ display: table-cell; }
   form			div:nth-of-type(2)		label		{ padding: 10px 6px 0px 0px; }

Результат:

Пример использования значений table, table-row и table-cell свойства display можно посмотреть здесь.

Значение flex:

Файл index.html:

   <!DOCTYPE html>
   
   <html lang="ru">
   
    <head>
     <meta charset="utf-8">
     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     <title>Значение flex свойства display</title>
     <link rel="stylesheet" href="styles.css">
    </head>
   
    <body>
     <div>
      <div>Первый блок</div>
      <div>Второй блок</div>
     </div>
    </body>
   
   </html>

Файл styles.css:

   body					{ margin: 0; }
   
   body > div				{ display: flex; flex-flow: row wrap; align-items: center; align-content: center; border: 1px solid #ff0000; height: 200px; }
   
   div > div:nth-of-type(1)		{ width: 400px; padding: 20px; background-color: #00ff00; }
   div > div:nth-of-type(2)		{ width: 400px; padding: 20px; background-color: #0000ff; color: #ffffff; }

Результат:

Пример использования значения flex свойства display можно посмотреть здесь.