Начална » кодиране на стоките » Как да създадете дизайн на границата с CSS

    Как да създадете дизайн на границата с CSS

    С граничен дизайн можем да покажем на потребителите какво може да бъде намерено под границата на HTML елемент. Тази задача обикновено се решава чрез подреждане на два или повече блокови елемента (в повечето случаи divs) с различни размери един върху друг. Първо това изглежда безпроблемно решение, но става по-разочароващо, когато искате да използвате многократно оформлението, да се движите из елементите, да оптимизирате дизайна за мобилни устройства или да поддържате кода.

    В тази публикация ще ви покажа елегантно CSS-решение, което използва само един HTML елемент за постигане на същия ефект. Тази техника е чудесна и за достъпност зарежда фоновото изображение в CSS, отделени от HTML.

    До края на този пост ще знаете как да го направите покаже фоново изображение в граничната област за да създадете граничен дизайн можете да видите по-долу. Ще ви покажа и как можете да направите дизайна отзивчив използвайки единици за визуализация.

    Първоначален код

    Единственото изискване в предната част на HTML е a блок елемент:

     

    Ще трябва повторна употреба размерите (ширина и височина) и широчината на границата на Разделение, така че ги представям като CSS променливи. Променливата --w означава широчина от .CB блок елемент, --з показва нейния височина, --б отива за ширина на границата, и --b2 за ширината на границата, умножена по 2. По-късно ще видим използването на последната променлива.

    Определям размера на

    спрямо ширината на прозореца, следователно използването на VW единица (можете да използвате фиксирани единици, ако искате).

     .cb --w: 35vw; --h: 40vw; --b: 4vw; - b2: calc (var (- b) * 2);  
    Бързо обяснение - VW и вх единици

    Устройството VW представлява 1/100тата на ширината на прозореца за изглед. Например, 50vw е 50 части от ширината на екрана нарязани вертикално на 100 равни части, докато 50vh е 50 части с височина на екрана нарязани хоризонтално на 100 равни части.

    Нека подобрим горния код, като добавим фон и зададем границата, височината и ширината използвайки нашите предварително дефинирани CSS променливи.

     .cb --w: 35vw; --h: 40vw; --b: 4vw; - b2: calc (var (- b) * 2); фон: url (bg.jpg); border: var (- b) прозрачен; височина: var (- h); width: var (- w);  

    Ето как трябва да изглежда демото в момента:

    Размер на фоновото изображение

    Нуждаем се от фоновото изображение покриват цялата площ на. \ t

    включително граничната зона, така фоновото изображение трябва да бъде съответно.

    Ако искате да дадете на фоновото изображение фиксиран размер, просто се уверете, че размерът, който давате, му позволява да покрива граничната зона на

    също. Що се отнася до кода, използван досега, ето го заден план стойност, която давам:

     .cb --w: 35vw; --h: 40vw; --b: 4vw; - b2: calc (var (- b) * 2); фон: url (bg.jpg) center / calc (var (- w) + var (- b2)) calc (var (- h) + var (- b2)); border: var (- b) прозрачен; височина: var (- h); width: var (- w);  

    Най- ширина на фоновото изображение [calc (var (- w) + var (- b2))] е сумата на ширина на div [Var (- w)] и ширина на лявата и дясната граница [Var (- Ь2)].

    По подобен начин височина на фоновото изображение [calc (var (- h) + var (- b2))] е сумата на височина на div [Var (- з)] и ширина на горните и долните граници [Var (- Ь2)].

    По този начин сме оразмерили фоновото изображение до област, която е еднаква с размера на Разделение (включително граничната зона).

    Най- център ключова дума подравнява фоновото изображение до центъра на Разделение.

    Забележка: Ако добавяте подложка към Разделение, не забравяйте включват областта на запълване до размера на фона, също както и граничната зона.

    Това е, което имаме в момента:

    Покрийте зоната, изключваща границите

    Сега, когато сме обхванали граничната зона с фоновото изображение, всичко, което остава, е да покриване на централната зона вътре в границата (зона, изключваща границата) с плътен цвят, за който стигаме до a кутия сянка добавям.

     .cb --w: 35vw; --h: 40vw; --b: 4vw; - b2: calc (var (- b) * 2); фон: url (bg.jpg) center / calc (var (- w) + var (- b2)) calc (var (- h) + var (- b2)); border: var (- b) прозрачен; box-shadow: inset var (- w) 0 0 rgba (0,120,237, .5); височина: var (- h); width: var (- w);  

    Хоризонталната сянка с стойност Var (- w) покрива цялата ширина на. \ t Разделение. Използването на RGBA Цветовата функция позволява известна прозрачност за добавяне в сместа, но можете да използвате и непрозрачен цвят, ако искате да покриете напълно централната зона.

    Добавете допълнителна граница с кутия сянка

    В демонстрацията на кодовете можете да видите бяла рамка около изображението. Има известен трик използване на сенчести кутии за създаване на множество граници-можем да използваме същата техника добавете един или повече цветни граници към нашия дизайн.

    Актуализираният кутия сянка стойността е:

     .cb --w: 35vw; --h: 40vw; --b: 4vw; - b2: calc (var (- b) * 2); фон: url (bg.jpg) center / calc (var (- w) + var (- b2)) calc (var (- h) + var (- b2)); border: var (- b) прозрачен; box-shadow: inset var (- w) 0 0 rgba (0,120,237, .5), 0 0 0 calc (var (- b) / 2) бяло; височина: var (- h); width: var (- w);  

    Най- calc (var (- b) / 2) функцията създава сянка на половината от широчината на границата.

    Незадължително: Отделно оформление и естетика

    В моята последна версия на Codepen, поставих кода за фоновото изображение и цвета на скритата кутия в отделен клас. Това е по избор, но може да бъде изключително полезно, ако искате повторно използване на оформлението на границата на границата в множество елементи и добавяйте естетиката (фоново изображение + цвят) за всеки елемент независимо.

    Добавих име клас .poster1 към

    за постигане на тази цел.

     .poster1 - tbgc: rgba (0,120,237, .5); background-image: url ("http://bit.ly/2eQBij2");  

    От заден план е стенографска собственост, неговите дълготрайни свойства могат да бъдат заменени / зададени индивидуално. Следователно, можем да определим фон изображение в .poster1, и премахване на стойността на URL адреса от заден план имот в .CB.

    За да зададете стойността на кутия сянка, можем да използваме друга CSS променлива. Най- --tbgc променлив съдържа стойността на цвета искаме да дадем на кутията-сянка (lightblue в демото), така че сред правилата на стила за .CB ние замени стойността на цвета на кутия сянка имот с Var (- tbgc).

     .cb --w: 35vw; --h: 40vw; --b: 4vw; - b2: calc (var (- b) * 2); фон: center / calc (var (- w) + var (- b2)) calc (var (- h) + var (- b2)); border: var (- b) прозрачен; box-shadow: inset var (- w) 0 0 var (- tbgc), 0 0 0 calc (var (- b) / 2) бяло; височина: var (- h); width: var (- w);  

    Код за портретен режим

    Тъй като размерите са всички в единицата VW, ще го направи изглежда твърде малък когато разглеждате дизайна в портретен режим (по-малка широчина спрямо височината) - в който всички мобилни устройства са включени по подразбиране. За да разрешите този проблем, ключ VW с вх, и преоразмеряване на дизайна както ви е удобно за портретни режими.

     @media (ориентация: портрет) .cb --w: 35vh; --h: 40vh; --b: 4vh;  

    Забележка: Не забравяйте добавете мета маркер на екрана в HTML страницата си, ако сте решили да я оптимизирате за мобилен изглед.

    © Savtec
    Полезна информация и съвети за уеб разработка. Програмиране, уеб дизайн, CSS, HTML, JAVASCRIPT. Конфигурирайте и инсталирайте отново WINDOWS. Създаване на сайтове и приложения от нулата.