Mała sztuczka do zmiany proporcji obrazów.

Powiedzmy, że mamy obraz o proporcjach 1:1 i chcemy zmienić go na proporcje 16:9.

Widok przyciętego obrazu

Oblicz rozmiar kadrowania

Najpierw oblicz, ile rozmiaru musisz wykadrować z obrazu:

9/16= 56.25(%) /*procentowy rozmiar zdjęcia po wykadrowaniu*/

100-56.25 =43.75(%) /*wartość procentowa kadrowania */

44 / 2 = 21.875(%) /*każda strona*/

Base HTML & CSS

HTML

<figure>
<img src="image-name.jpg">
</figure>

CSS

figure{
width:300px; /*container-width*/
overflow:hidden; /*hide bounds of image */
margin:0; /*reset margin of figure tag*/
}
figure img{
display:block; /*remove inline-block spaces*/
width:100%; /*make image streatch*/
}

Add Cropping Styles

Teraz po prostu dodaj ujemny margines do obrazu

figure img{
/*add to other styles*/
margin:-21.875% 0;
}

LIVE DEMO

Second Method, Dodaj wysokość

Teraz pójdźmy w przeciwną stronę. Powiedzmy, że mamy obraz o proporcjach 16:9 i chcemy go zmienić na proporcje 1:1.

Widok przyciętego obrazu

Oblicz dodatkowy rozmiar

  • 16/9 = 1.7777 /*brak rozmiaru dla proporcji 1:1*/
  • 1,777 * 100 = 177,77(%) /*rozmiar dla obrazu przed wykadrowaniem*/
  • 177.77-100 = 77,77 /*dodatkowy rozmiar, który zostanie wykadrowany*/
  • 77,77/2 = 38.885(%) /*dodatkowy rozmiar, który zostanie przycięty w każdym rozmiarze*/

Base HTML & CSS

HTML

<figure>
<img src="image-name2.jpg">
</figure>

CSS

figure{
width:300px; /*container-width*/
overflow: hidden; /*hide bounds of image */
margin:0; /*reset margin of figure tag*/
}
figure img{
display:block; /*remove inline-block spaces*/
}

Add Cropping Styles

figure img{
/*add to other styles*/
margin:0 -38.885%;
width:177.777%;
}

LIVE DEMO

To wszystko, mam nadzieję, że ci się spodoba.

Więcej postów CSS, które napisałem:
CSS Position Sticky – How It Really Works!
Nowe właściwości logiczne CSS!
Nowa ewolucja projektowania responsywnego
Architektura CSS dla wielu stron internetowych za pomocą SASS
Metody siatki CSS
Becoming a CSS Grid Ninja!
Polecane filmy CSS, kanały i listy odtwarzania

Śledź mnie na:
Mój Twitter
Moja Firma

Możesz mnie znaleźć w moich grupach facebookowych:
CSS Masters
CSS Masters Israel

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.