Курси програмування для дітей безкоштовно

16. Вкладки Tab

Вкладки Tab | Уроки HTML CSS JavaScript для дітей | ITisFuture

Всім привіт! Сьогодні створюємо сторінку – органайзер для закладок в браузері, і попутно розберемось, як створювати вкладки Tab у CSS. Зліва ми створимо меню з групами посилань. А при наведенні буде з’являтися відповідна група з посиланнями і картинкою до них. Поїхали!

Вкладки Tab працюють поряд зі звиченим меню, але їх основна задача – це розмістити увесь код вкладки на одній сторінці.

1: Створіть новий проєкт. Додайте таку заготовку в нього:

<div class="tab">
  <button class="tablinks" onmouseover="openTab(event, 'Tab1')">Tab1</button>
  <button class="tablinks" onmouseover="openTab(event, 'Tab2')">Tab2</button>
  <button class="tablinks" onmouseover="openTab(event, 'Tab3')">Tab3</button>
</div>

<div id="Tab1" class="tabcontent">
  <h3>Tab1</h3>
  <p>Tab1 text.</p>
</div>

<div id="Tab2" class="tabcontent">
  <h3>Tab2</h3>
  <p>Tab2 text.</p> 
</div>

<div id="Tab3" class="tabcontent">
  <h3>Tab3</h3>
  <p>Tab3 text.</p>
</div>

<div class="clearfix"></div>

Перший блок створить вкладки з назвами Tab1, Tab2, Tab3. Це назви груп, які відображаються збоку. Змініть їх, можна, наприклад зробити групу Школа(сторінки, потрібні для школи), цікаве тощо.

Блоки div id=”Tab1″ створює контент для першої вкладки. Ми його пізніше заповнимо. Так само для інших вкладок.

Останній блок відповідає за очищення після вкладок.

2: Додайте css-код. Поставте свої кольори для фону. Це буде градієнт. Для цього замініть слово КОД_КОЛЬОРУ на реальний колір.

@import url(https://fonts.googleapis.com/css?family=Roboto);
html, body {
  height: 100%;
}

body {
  background: linear-gradient(
    330deg,
    КОД_КОЛЬОРУ 0%,
    КОД_КОЛЬОРУ  25%,
    КОД_КОЛЬОРУ  50%,
    КОД_КОЛЬОРУ  75%,
    КОД_КОЛЬОРУ  100%
  );
}

/* Style the tab */
.tab {
  float: left;
  border: 1px solid white;
    background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.2) 25%, rgba(255, 255, 255, 0.2) 75%, rgba(255, 255, 255, 0) 100%);
    /* The mask-image gives us some extra fading. It is not necessary but without this, you can't face out the box-shadows. This clips our menu */
    mask-image: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, #ffffff 25%, #ffffff 75%, rgba(255, 255, 255, 0) 100%);
  width: 28%;
  height: 300px;
}

/* Style the buttons inside the tab */
.tab button {
  display: block;
  background-color: inherit;
  color: black;
  padding: 22px 16px;
  width: 100%;
  border: none;
  outline: none;
  text-align: left;
  cursor: pointer;
  font-size: 17px;
  box-shadow: 0 0 25px rgba(0, 0, 0, 0.1), inset 0 0 1px rgba(255, 255, 255, 0.6);
}

/* Change background color of buttons on hover */
.tab button:hover {
/*   background-color: #ddd; */
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1), inset 0 0 1px rgba(255, 255, 255, 0.6);

}

/* Create an active/current "tab button" class */
.tab button.active {
/*   background-color: #ccc; */
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1), inset 0 0 1px rgba(255, 255, 255, 0.6);
    background: rgba(255, 255, 255, 0.1);
  color: rgba(0, 0, 0, 0.7);
}

/* Style the tab content */
.tabcontent {
  float: left;
  padding: 0px 12px;
  border: 1px solid #ccc;
  width: 60%;
  border-left: none;
/*   height: 300px; */
  display: none;
}

/* Clear floats after the tab */
.clearfix::after {
  content: "";
  clear: both;
  display: table;
}

3: Додайте скрипти.

function openTab(evt,  tabName) {
  var i, tabcontent, tablinks;
  tabcontent = document.getElementsByClassName("tabcontent");
  for (i = 0; i < tabcontent.length; i++) {
    tabcontent[i].style.display = "none";
  }
  tablinks = document.getElementsByClassName("tablinks");
  for (i = 0; i < tablinks.length; i++) {
    tablinks[i].className = tablinks[i].className.replace(" active", "");
  }
  document.getElementById( tabName).style.display = "block";
  evt.currentTarget.className += " active";
}

4: Перевірте ваш код. Вкладки Tab мають переключатися і в середині має з’являтися різний тест.

5: Тепер настала черга створювати контент для сайту. В середину блоку div id=”Tab1″ class=”tabcontent”, тобто в першу вкладку давайте вставимо картинку з підписом.

  <div class='link'>
    <a href="ПОСИЛАННЯ_НА_САЙТ" target="_blank">
<img class="link" src="ПОСИЛАННЯ_НА_КАРТИНКУ">
      <p>ПІДПИС</p>
    </a>
  </div>

Замініть виділений текст на відповідні значення.

6: Тепер попрацюємо над стилями, щоб все це гарно виглядало. Для класу link додайте:

  margin: 3px;
  padding: 3px;
  display: inline-block;
  vertical-align: middle;
  text-align: center;
  align-items: center;

Це допоможе записувати посилання в рядок з відповідними відступами.

А для тегу img, який знаходиться в середині класу link додайте висоту і ширину в 50 пікселів.

7: Додайте ще посилань в різні вкладки.

Уроки програмування для дітей. Домашня робота

Домашня робота

1: Додайте на кожну вкладку по 3 посилання-картинки

2: Знайдіть 3 на сайти, youtube-канали або сторінки соцмереж за вашими інтересами УКРАЇНСЬКОЮ МОВОЮ. Додайте посилання на ці сайти на вашу сторінку. Виділіть їх у окрему групу або додайте напис UA.

Наприклад, вам подобається історія, тоді можна додати такий канал https://www.youtube.com/@WAS_UA .

3: Для посилань (тег a) додайте стиль text-decoration: none; . Це допоможе не підкреслювати текст.

4: Для тексту додайте наступні стилі :

  • зробіть текст жирним
  • додайте тінь (text-shadow: 2px 2px #dcf2f7);
  • змініть колір
Уроки програмування для дітей ускладнені завдання level up

Level Up

1: Зробіть картинки для посилань круглими (або закругліть край картинки) та додайте рамку будь-якого кольору (як на правій картинці).

2: Зайдіть на сайт https://codingfantasy.com/ (можна не реєструватися). Оберіть Простий рівень. Ваша задача, розв’язати перші 6 завдань і прислати текстом рядок, який ви додали в кожному завданні.

Залишити коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

holiganbet   holiganbet   holiganbet   holiganbet   holiganbet   holiganbet   starzbet   starzbet   starzbet   starzbet   starzbet   zlot   zlot   zlot   meritking   betgaranti   meritking   meritking   starzbet   betsmove   betcio   egebet   phishing   child porn   hack   shell   bets10   pishing   meritking   meritking   meritking   meritking   meritking   meritking   meritking   childiren porn   hack   shell   child porn   meritking   starzbet   jojobet   jojobet   meritking   starzbet   starzbet   mariobet   mariobet   mariobet   meritking   meritking   meritking   grandpashabet   meritking   meritkin   meritking   grandpashabet   meritking   grandpashabet   grandpashabet   grandpashabet   grandpashabet   grandpashabet   grandpashabet   grandpashabet   grandpashabet   grandpashabet   grandpashabet   grandpashabet   grandpashabet   grandpashabet   grandpashabet   grandpashabet