Оформление изображений на сайте

CSS стили позволяют разнообразить варианты оформления изображений на сайте. К изображениям можно добавить рамку, тень, подпись и т.п. Для группировки изображения и подписи к нему удобно использовать тег-контейнер <figure>, который оборачивает картинку (<img>) и подпись к ней (<figcaption>).

Перейти на страницу с примерами

Как красиво оформить картинки на сайте с помощью CSS-стилей

Пример 1. Полупрозрачная надпись

<div class="caption-bottom">
    <img src="https://html5book.ru/wp-content/uploads/2015/10/snow-road.jpg">
    <h2>Первый снег<br>
        <i class="date">Декабрь, 2014</i>
    </h2>
</div>
* {box-sizing: border-box;}
.caption-bottom {
  width: 400px;
  margin: 50px auto 0;
  position: relative;
  border: 1px solid hsla(21, 37%, 15%, 0.3);
}
.caption-bottom img {
  max-width: 100%;
  height: auto;
  display: block;
}
.caption-bottom h2 {
  margin: 0;
  position: absolute;
  line-height: 1.1;
  font-size: 1.2em;
  font-weight: 200;
  left: 0;
  bottom: 0;
  padding: 6px 20px 6px 10px;
  background: hsla(21, 37%, 15%, 0.2);
  color: white;
}
.date {
  font-family: "Open Sans", sans-serif;
  font-size: .7em;
}

Пример 2. Двойная рамка и цветная подпись

<figure class="caption-border">
    <img src="https://html5book.ru/wp-content/uploads/2015/10/snow-road.jpg">
    <figcaption>Первый снег</figcaption>
</figure>
* {box-sizing: border-box;}
.caption-border {
  width: 400px;
  margin: 50px auto 0;
  border: 5px solid #E5BF23;
  background: white;
  padding: 10px;
}
.caption-border img {
  max-width: 100%;
  height: auto;
  display: block;
}
.caption-border figcaption {
  padding: 10px;
  color: white;
  background: #E5BF23;
  text-align: center;
  text-transform: uppercase;
}

Пример 3. Закругленная угловая 3-D надпись

<div class="caption-top">
    <h2>Первый снег<br>
        <i class="date">Декабрь, 2014</i>
    </h2>
    <img src="https://html5book.ru/wp-content/uploads/2015/10/snow-road.jpg">
</div>
* {box-sizing: border-box;}
.caption-top {
  width: 400px;
  margin: 50px auto 0;
  border: 5px solid #E06B2A;
  position: relative;
}
.caption-top img {
  max-width: 100%;
  height: auto;
  display: block;
}
.caption-top h2 {
  margin: 0;
  color: white;
  line-height: 1.1;
  font-size: 1.2em;
  font-weight: 200;
  padding: 10px 20px 10px 10px;
  border-bottom-right-radius: 20px;
  background: #E06B2A; 
  position: absolute;
  top: -5px;
  left: 0;
  box-shadow: -3px -1px 3px -3px #E06B2A, 5px 10px 20px -5px hsla(0, 0%, 0%, .4);
}
.date {
  font-family: "Open Sans", sans-serif;
  font-size: .7em;
}

Пример 4. Закругленная 3-D надпись

<figure class="caption-shadow">
    <img src="https://html5book.ru/wp-content/uploads/2015/10/snow-road.jpg">
    <figcaption>Первый снег</figcaption>
</figure>
* {box-sizing: border-box;}
.caption-shadow {
  width: 400px;
  margin: 50px auto 0;
  position: relative;
  border: 5px solid #FAAB1B;
}
.caption-shadow img {
  max-width: 100%;
  height: auto;
  display: block;
}
.caption-shadow figcaption {
  width: 100%;
  padding: 10px;
  color: white;
  text-align: center;
  text-transform: uppercase;
  background: #FAAB1B;
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  position: absolute;
  left: 0;
  bottom: 0;
  box-shadow: 0 -10px 20px -5px hsla(0, 0%, 0%, .4);
}

Пример 5. Надпись-уголок

<div class="triangle-caption">
    <img src="https://html5book.ru/wp-content/uploads/2015/10/snow-road.jpg">
    <div class="caption">
        <span class="day">11</span>
        <span class="year">&rsquo; 2014</span>
        <p>Первый снег</p>
    </div>
</div>
* {box-sizing: border-box;}
.triangle-caption {
  position: relative;
  margin: 50px auto 0;
  overflow: hidden;
  width: 400px;
  box-shadow: 2px 2px 4px rgba(0,0,0,.2);
}
.triangle-caption img {
  max-width: 100%;
  height: auto;
  display: block;
}
.caption {
  text-align:right;
  position: absolute;
  z-index: 2;
  bottom: 0;
  right: 0;
  color: white;
  line-height: 1;
  padding: 0 13px 13px 0;
}
.triangle-caption:after {
  background: #a90a0a;
  content: "";
  position: absolute;
  width: 220px;
  height: 220px;
  bottom: -110px;
  right: -110px;
  transform: rotate(45deg);
}
.caption p {margin: 10px 0 0;}
.day {
  position: relative;
  top: -10px;
  font-family: 'Rozha One', serif;
}
.year {
  font-size: 1.5em;
  font-family: 'Rozha One', serif;
}

Пример 6. Эффект виньетки

<div class="vignette">
    <img src="https://html5book.ru/wp-content/uploads/2015/10/snow-road.jpg">
</div>
* {box-sizing: border-box;}
.vignette {
  width: 400px;
  margin: 50px auto 0;
  position: relative;
}
.vignette img{
  border-radius: 50%;
  max-width: 100%;
  height: auto;
  display: block;
}
.vignette:after  {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: radial-gradient(50% 50%, hsla(0, 0%, 100%, 0) 50%, #F1EBDF 100%);
}

Пример 7. Овальная двухцветная рамка

<div class="color-border">
    <img src="https://html5book.ru/wp-content/uploads/2015/10/snow-road.jpg">
</div>
* {box-sizing: border-box;}
.color-border {
  width: 400px;
  margin: 50px auto 0;
  padding: 5px;
  background: linear-gradient(#2BBE94 50%, #0D464F 50%);
  border-radius: 50%;
}
.color-border img {
  max-width: 100%;
  height: auto;
  display: block;
  border-radius: 50%;
}

Пример 8. Градиентная рамка

<div class="gradient-border">
    <img src="https://html5book.ru/wp-content/uploads/2015/10/snow-road.jpg">
</div>
* {box-sizing: border-box;}
.gradient-border {
  width: 400px;
  margin: 50px auto 0;
}
.gradient-border img {
  max-width: 100%;
  height: auto;
  display: block;
  border: 15px solid;
  border-image: linear-gradient(135deg, #857667 38%, #FDD6B9 65%);
  border-image-slice: 1;
}

Пример 9. Картинка с тенью и рамкой

<div class="shadow-border">
  <img src="https://html5book.ru/wp-content/uploads/2015/10/snow-road.jpg">
</div>
*, *:after {box-sizing: border-box;}
.shadow-border {
  width: 400px;
  margin: 50px auto 0;
  position: relative;
}
 .shadow-border:after {
  content:"";
  width: 100%;
  height: calc(100% - 20px);
  position: absolute;
  top: 10px;
  left: 25px;
  z-index: 1;
  border: 5px solid #FF9B6C;
}
.shadow-border img {
  max-width: 100%;
  height: auto;
  display: block;
  position: relative;
  z-index: 2;
  box-shadow: 4px 4px 20px 0 rgba(0,0,0,.25)
}

Поделиться: