Створення CSS3 нотатки без використання зображень

08 липня 2015 13:15 Q-Bart 768 6

В цій статті ми розглянемо, як створити CSS стікер для нотаток без жодного зображення!
Ось як це буде виглядати:

note

В даному випадку я використав його для відображення цитати А. Ейнштейна. Ви можете використати інший текст.

HTML

Давайте поглянемо, на HTML код для нашого стікера. Нам потрібен тег blockquote для тексту нотатки, і тег cite в ньому. Також ми використовуємо тег i для створення «шпильки» та div контейнер для позиціонування.

<div class="quote-container">
  <i class="pin"></i>
  <blockquote class="note yellow">
     We can't solve problems by using the same kind of thinking we used when we created them.
    <cite class="author">Albert Einstein</cite>
  </blockquote>
</div>

CSS стилізація

Тепер необхідно додати трохи CSS стилів.
Перш за все, потрібен красивий шрифт! Я вибрав Satisfy

@import url(//fonts.googleapis.com/css?family=Satisfy);

Зараз необхідно трішки стилізувати контейнер і надати йому position:relative для того, щоб мати можливість редагувати «шпильку» і нотатку відносно нього.

Базовий CSS стиль для нотатки – простий: змінити шрифт, збільшити відступ поля (padding) і додати тінь. Наприкінці ми також зробимо вирівнювання cite з правого боку та трішки збільшимо margin відступ.

.quote-container {
  margin-top: 50px;
  position: relative;
}
.note {
  color: #333;
  position: relative;
  width: 300px;
  margin: 0 auto;
  padding: 20px;
  font-family: Satisfy;
  font-size: 30px;
  box-shadow: 0 10px 10px 2px rgba(0,0,0,0.3);
}
.note .author {
  display: block;
  margin: 40px 0 0 0;
  text-align: right;
}

Тепер можна додати окремий клас для кольору і реалізації обертання.

.yellow {
  background: #eae672;
  -webkit-transform: rotate(2deg);
  -moz-transform: rotate(2deg);
  -o-transform: rotate(2deg);
  -ms-transform: rotate(2deg);
  transform: rotate(2deg);
}

Додавання «шпильки»
Тепер залишилось лише додати нашу «шпильку»! Ми будемо використовувати псевдоелементи :befor та :after.

Перш за все, давайте додамо трохи позиціонування і створимо металевий стержень шпильки.


.pin {
  background-color: #aaa;
  display: block;
  height: 32px;
  width: 2px;
  position: absolute;
  left: 50%;
  top: -16px;
  z-index: 1;
}

Далі, використовуючи CSS3 градієнти та тінь, ми зробимо голівку шпильки і додамо їй тінь.

.pin:after {
  background-color: #A31;
  background-image: radial-gradient(25% 25%, circle, hsla(0,0%,100%,.3), hsla(0,0%,0%,.3));
  border-radius: 50%;
  box-shadow: inset 0 0 0 1px hsla(0,0%,0%,.1),
              inset 3px 3px 3px hsla(0,0%,100%,.2),
              inset -3px -3px 3px hsla(0,0%,0%,.2),
              23px 20px 3px hsla(0,0%,0%,.15);
  content: '';
  height: 12px;
  left: -5px;
  position: absolute;
  top: -10px;
  width: 12px;
}

І нарешті, ми створимо і змістимо тінь металевої частини шпильки.

.pin:before {
  background-color: hsla(0,0%,0%,0.1);
  box-shadow: 0 0 .25em hsla(0,0%,0%,.1);
  content: '';
  height: 24px;
  width: 2px;
  left: 0;
  position: absolute;
  top: 8px;
transform: rotate(57.5deg);
  -moz-transform: rotate(57.5deg);
  -webkit-transform: rotate(57.5deg);
  -o-transform: rotate(57.5deg);
  -ms-transform: rotate(57.5deg);
  transform-origin: 50% 100%;
  -moz-transform-origin: 50% 100%;
  -webkit-transform-origin: 50% 100%;
  -ms-transform-origin: 50% 100%;
  -o-transform-origin: 50% 100%;
}

Отже, тепер у нас є нотатка для повідомлень, прикріплена шпилькою з повернутою тінню. І все це написано лише з допомогою CSS3.

Джерело перекладу

768 7

Схожі матеріали:

Коментарі:

Ruslan Kiianchuk

09 Лип 2015 03:40
Цей коментар прихований автором

Ruslan Kiianchuk

09 Лип 2015 03:43

Шрифт красивий, але зіпсований стисненням JPEG :) На майбутнє: для штучно створених зображень (не натуральних) завжди варто обирати формат PNG. Бо JPEG застосовує стиснення з втратами і придатний лише для натуральних зображень (де переходи відтінків між сусідніми пікселями плавні), а на штучних зображеннях призводить до жахливого результату. http://stackoverflow.com/questions/2336522/png-vs-gif-vs-jpeg-when-best-to-use

andreykko

09 Лип 2015 04:23

Зображення взято напряму з оригінальної статті)

Ruslan Kiianchuk

10 Лип 2015 08:21

andreykko, ну суті це не змінює :) Без проблем — ось правильна версія: http://s24.postimg.org/hfqvt5t3p/note.png Якщо порівняти з ориігналом (http://creative-punch.net/wp-content/uploads/2014/02/post-it-note.jpg) то різницю дуже видно — на PNG немає артифактів та «засніженості» ;)

andreykko

14 Лип 2015 22:27

Ruslan Kiianchuk, виправив, дякую :)

id192480532

17 Жов 2015 13:03

Цікава стаття, дякую :)

Авторизуйтесь, щоб залишити коментар.