Domovská » Kódování » Jak vytvořit výřez hraniční design s CSS

    Jak vytvořit výřez hraniční design s CSS

    S design hranic uživatelům můžeme ukázat, co lze nalézt pod hraniční oblastí elementu HTML. Tento úkol obvykle řeší stohování dvou nebo více blokových prvků (ve většině případů divs) různých velikostí na sebe. Nejprve se to jeví jako snadné řešení, ale je více frustrující, když chcete rozložení použít opakovaně, pohybovat se po prvcích, optimalizovat design pro mobilní zařízení nebo zachovat kód.

    V tomto příspěvku vám ukážu elegantní řešení CSS, které používá pouze jeden element HTML dosáhnout stejného účinku. Tato technika je také skvělá pro přístupnost načte obrázek pozadí v CSS, odděleny od HTML.

    Na konci tohoto příspěvku budete vědět, jak na to zobrazit obrázek na pozadí v pohraniční oblasti pro vytvoření design hranic můžete vidět níže. Také vám ukážu, jak můžete design reagovat pomocí zobrazovacích jednotek.

    Počáteční kód

    Jediným požadavkem v HTML frontě je prvek bloku:

     

    Musíme to udělat opětovné použití rozměry (šířka a výška) a hodnoty šířky okraje div, Tak jim představuji jako proměnné CSS. Proměnná --w označuje šířka z .cb prvek bloku, --h označuje jeho výška, --b jde pro šířka okraje, a --b2 pro šířku ohraničení vynásobenou číslem 2. Později uvidíme použití poslední proměnné.

    Dělám to

    relativně k šířce výřezu, proto použití vw jednotka (můžete použít pevné jednotky, pokud chcete).

     .cb --w: 35vw; --h: 40vw; --b: 4vw; -b2: calc (var (- b) * 2);  
    Rychlé vysvětlení - vw a vh Jednotky

    Jednotka vw představuje 1/100th šířky výřezu. Například, 50vw je 50 částí šířky výřezu nakrájíme vertikálně na 100 stejných dílů, zatímco 50vh je 50 částí výšky výřezu nakrájíme vodorovně na 100 stejných dílů.

    Pojďme zlepšit výše uvedený kód přidáním pozadí a nastavením ohraničení, výšky a šířky pomocí našich předdefinovaných CSS proměnných.

     .cb --w: 35vw; --h: 40vw; --b: 4vw; -b2: calc (var (- b) * 2); background: url (bg.jpg); hranice: var (- b) pevná průhledná; výška: var (- h); width: var (- w);  

    Zde je ukázka, jak má demo vypadat právě teď:

    Velikost obrázku na pozadí

    Potřebujeme obrázek na pozadí pokrývají celou oblast

    včetně pohraniční oblasti, tak musí být obrázek na pozadí velikosti.

    Pokud chcete dát obrázek na pozadí pevnou velikost, jen se ujistěte, že velikost, kterou dáváte, umožňuje, aby pokrýval hraniční oblast

    také. Pokud jde o kód používaný v příspěvku zatím, tady je Pozadí hodnota, kterou dávám:

     .cb --w: 35vw; --h: 40vw; --b: 4vw; -b2: calc (var (- b) * 2); pozadí: url (bg.jpg) center / calc (var (- w) + var (- b2)) calc (var (- h) + var (- b2)); hranice: var (- b) pevná průhledná; výška: var (- h); width: var (- w);  

    šířku obrázku na pozadí [calc (var (- w) + var (- b2))] je součtem šířka div [var (- w)] a šířku levé a pravé hranice [var (- b2)].

    Podobně obrázek na pozadí [calc (var (- h) + var (- b2))] je součtem výška div [var (- h)] a šířka horního a dolního okraje [var (- b2)].

    Tímto způsobem jsme obrázek na pozadí na velikost, která je stejná jako velikost div (včetně pohraniční oblasti) \ t.

    centrum klíčové slovo zarovná obrázek na pozadí do centra div.

    Poznámka: Pokud přidáváte polstrování k div, pamatujte včetně oblasti čalounění na velikost pozadí stejně jako u pohraniční oblasti.

    Právě teď máme:

    Pokryjte okrajově exkluzivní prostor

    Teď, když jsme pokryli oblast s ohraničením včetně obrázku na pozadí, vše, co zbývá, je pokrývají středovou oblast uvnitř hranice (okrajově exklusivní prostor) s plnou barvou, na kterou se dostaneme po box-stín vložka.

     .cb --w: 35vw; --h: 40vw; --b: 4vw; -b2: calc (var (- b) * 2); pozadí: url (bg.jpg) center / calc (var (- w) + var (- b2)) calc (var (- h) + var (- b2)); hranice: var (- b) pevná průhledná; box-shadow: inset var (- w) 0 0 rgba (0,120,237, .5); výška: var (- h); width: var (- w);  

    Horizontální stín s hodnotou var (- w) pokrývá celou šířku div. Použití rgba funkce barev umožňuje určitá průhlednost přidávat do směsi, ale můžete také použít neprůhlednou barvu, pokud chcete plně pokrýt středovou oblast.

    Přidejte další ohraničení box-stín

    V ukázce Codepen můžete vidět bílý rámeček kolem obrázku. Je tu slavný trik použití stínů boxů k vytvoření více ohraničení-můžeme použít stejnou techniku přidat jednu nebo více barevných hran k našemu designu.

    Aktualizováno box-stín hodnota je:

     .cb --w: 35vw; --h: 40vw; --b: 4vw; -b2: calc (var (- b) * 2); pozadí: url (bg.jpg) center / calc (var (- w) + var (- b2)) calc (var (- h) + var (- b2)); hranice: var (- b) pevná průhledná; box-shadow: inset var (- w) 0 0 rgba (0,120,237, .5), 0 0 0 calc (var (- b) / 2) bílá; výška: var (- h); width: var (- w);  

    calc (var (- b) / 2) funkce vytváří stín polovinu šířky okraje.

    Volitelné: Samostatné uspořádání a estetika

    V mém posledním demoverzi Codepen jsem umístil kód na pozadí a barvu boxu do samostatné třídy. Tohle je volitelný, ale může být velmi užitečné, pokud chcete opětovně použít rozvržení návrhu hraničních hran ve více prvcích a přidejte estetiku (obrázek na pozadí + barvu) pro každý prvek nezávisle.

    Přidal jsem třídu pojmenovanou .poster1 na

    k dosažení tohoto cíle.

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

    Od té doby Pozadí je zkrácená vlastnost, jeho vlastnosti longhand mohou být přepsány / nastaveny individuálně. Můžeme tedy nastavit pozadí v .poster1, a odebrat hodnotu url z Pozadí nemovitost v .cb.

    Nastavení hodnoty box-stín, můžeme použít další proměnnou CSS. --tbgc proměnná drží hodnotu barvy chceme dát box-shadow (lightblue v demo), tak mezi pravidla stylu pro .cb my nahradit barevnou hodnotu box-stín vlastnictví s var (- tbgc).

     .cb --w: 35vw; --h: 40vw; --b: 4vw; -b2: calc (var (- b) * 2); pozadí: center / calc (var (- w) + var (- b2)) calc (var (- h) + var (- b2)); hranice: var (- b) pevná průhledná; box-shadow: inset var (- w) 0 0 var (- tbgc), 0 0 0 calc (var (- b) / 2) bílá; výška: var (- h); width: var (- w);  

    Kód pro režim na výšku

    Protože všechny rozměry jsou v jednotce vw, bude vypadají příliš malé když si prohlížíte design v režimu na výšku (menší šířka vzhledem k výšce) - ve výchozím nastavení jsou všechna mobilní zařízení ve výchozím nastavení. K řešení tohoto problému, přepínač vw s vh, a změnit velikost návrhu jak vidíte pro režimy na výšku.

     @media (orientace: na výšku) .cb --w: 35vh; --h: 40vh; - b: 4vh;  

    Poznámka: Nezapomeňte přidat metaznačku výřezu na stránku HTML, pokud jste se rozhodli pro její optimalizaci pro mobilní zobrazení.

    © Savtec
    Užitečné informace a tipy pro vývoj webových aplikací. Programování, webdesign, CSS, HTML, JAVASCRIPT. Nakonfigurujte a znovu nainstalujte Windows. Vytváření webů a aplikací od nuly.