112 of 313 menu

border-image Özelliği

border-image özelliği kenarlık için bir resim belirler, bu özellik border-image-source, border-image-slice, border-image-repeat, border-image-width ve border-image-outset özellikleri için bir kısaltma özelliğidir. Bu kısaltma özelliği CSS'te, kısaltılan özelliklerden daha önce ortaya çıktığı için daha eski tarayıcılar tarafından daha iyi desteklenir.

Sözdizimi

seçici { border-image: url(resmin yolu) ofset/kalınlık/başlangıç tekrar; }

Açıklama

Kenarlık için uygulamak istediğimiz resim özel bir şekilde düzenlenmelidir: köşeler için 4 mini resim ve kenarlar için 4 resim. Böyle bir resmin örneği:

Bu durumda orta kısım beyaz bırakılmıştır (çünkü öğenin arka planına gelmesini istemeyiz). Doldurulmuş orta kısma sahip bir resim örneği:

slice değeri tarayıcıya, resmin hangi kısımlarının köşelere gideceğini, hangilerinin kenarlara gideceğini (ve hangi kısmın orta kısım olacağını) belirtir. Köşelere 4 kısım gider, kenarlara 4 kısım gider ve bir kısım (orta kısım) öğenin arka planına gider (isteğe bağlı, fill anahtar kelimesi).

Resim şu şekilde parçalara ayrılır: slice değeri için bir ile dört arasında değer belirtilir. Bir örnekle inceleyelim. Aşağıdaki değerlerin belirtildiğini varsayalım: 10 20 30 40 (piksel px belirtilmez, bunun nedeni resmin hem raster hem de vektör olabilmesidir). Değerler şunu söyler: 10 üstten kes, 20 sağdan kes, 30 alttan kes, 40 soldan kes. Resmin hangi kısmı sol üst köşeye gider? Bu şu parça olacaktır: 10 üstten, 40 soldan. Sağ üst köşeye 10 üstten, 20 sağdan gider. Ve benzeri şekilde.

Çoğu zaman resim simetriktir (yukarıdaki elmaslar gibi) ve köşeler için eşit parçalar kesmemiz gerekir. Bu durumda, tüm taraflardan aynı ofseti ayarlayacak bir değer belirtilir. Turuncu elmasları kesmek için slice değerini 26 olarak belirtiriz (çünkü turuncu elmas 26px x 26px boyutundadır). Sarı elmaslar kenar çizgilerine denk gelecek ve onlara şu olacak: ya tüm blok boyunca uzayacaklar ya da kenar boyunca tekrarlanacaklar (repeat değerine bağlı olarak):

<div id="elem"></div> #elem { border-image-source: url("image.png"); border-image-slice: 26; border-image-repeat: stretch; border-style: solid; border-width: 26px; width: 200px; height: 200px; background: green; margin: 0 auto; }

:

<div id="elem"></div> #elem { border-image-source: url("image.png"); border-image-slice: 26; border-image-repeat: repeat; border-style: solid; border-width: 26px; width: 200px; height: 200px; background: green; margin: 0 auto; }

:

border-image özelliği, öğenin kenarlık kalınlığını belirtmeye izin vermez. Tarayıcı resmi, zaten mevcut genişliğe sahip kenar boyunca uzatır. Bu nedenle border özelliği ile ayarlanmalıdır.

Eski tarayıcı kullanıcıları (veya resimleri devre dışı bırakılmış olanlar) border içinde ayarlanmış standart çerçeveyi göreceklerdir, bu nedenle ona uygun stil ve renk vermek mantıklıdır.

Değerler

Değer Açıklama
url(Resmin Yolu) Resmin yolu. Ayrıntılar için border-image-source'a bakın.
ofset Tarayıcıya, resmin hangi kısımlarının köşelere gideceğini, hangi kısımların kenarlara gideceğini (ve hangi kısmın orta kısım olacağını) belirtir. Olası Değerler: 1'den 4'e kadar sayı | 1'den 4'e kadar yüzde. Boşlukla ayrılarak, sayılara veya yüzdelerle birlikte fill anahtar kelimesi belirtilebilir. Ayrıntılar için border-image-slice'a bakın.
kalınlık Bu özellik, kenarlığın görünür kısmının genişliğini kontrol eder, onu ölçeklendirir. Bu değer border-width genişliğinden büyükse, kenarlık resmi içeriğin altına girer. Olası Değerler: CSS birimleri | yüzdeler | sayı | auto. Ayrıntılar için border-image-width'a bakın.
başlangıç Kenarlığı öğenin sınırlarının ötesine taşımaya izin veren ilginç bir özellik. Negatif değerler desteklenmez. Olası Değerler: CSS birimleri (% (?) hariç) | pozitif sayı | auto. Ayrıntılar için border-image-outset'a bakın.
tekrar Resmin kenarlarda (köşelerde değil) nasıl tekrarlanacağını belirtir: döşenmiş mi yoksa uzatılmış mı.
Olası Değerler: stretch | repeat | round | space.
Ayrıntılar için border-image-repeat'a bakın.

Varsayılan değer: none 100%/1/0 stretch (url(resmin yolu) ofset/kalınlık/başlangıç tekrar).

Örnek . border-image-repeat: repeat değeri

<div id="elem"></div> #elem { border-style: solid; border-width: 26px; border-image: url("image.png") 26 repeat; width: 200px; height: 200px; background: green; margin: 0 auto; }

:

Örnek . border-image-repeat: stretch değeri

<div id="elem"></div> #elem { border-style: solid; border-width: 26px; border-image: url("image.png") 26 stretch; width: 200px; height: 200px; background: green; margin: 0 auto; }

:

Örnek . border-image-repeat: round değeri

Şu anda normal durumda repeat değeri ayarlı, fareyle üzerine gelindiğinde ise - round değeri ayarlı. Fareyle üzerine gelmeden önce kenarlığa tam sayıda elmas sığmadığına, fareyle üzerine gelindikten sonra ise tam sayıda sığdığına dikkat edin. round işte böyle çalışır:

<div id="elem"></div> #elem:hover { border-image: url("image.png") 26 round; } #elem { border-style: solid; border-width: 42px; border-image: url("image.png") 26 repeat; width: 200px; height: 200px; background: green; margin: 0 auto; }

:

Örnek . border-image-repeat: iki kelime

Genişlik için repeat değeri ve yükseklik için stretch değeri:

<div id="elem"></div> #elem { border-style: solid; border-width: 26px; border-image: url("image.png") 26 repeat stretch; width: 200px; height: 200px; background: green; margin: 0 auto; }

:

Örnek . Resim genişliği ile kenarlık genişliğinin eşleşmesi

Fareyle üzerine gelindiğinde border-width değerini artıralım, bu sırada border-image kalınlığını aynı bırakalım. Elmaslar tüm kenarlık boyunca uzayacak:

<div id="elem"></div> #elem:hover { border-width: 52px; } #elem { border-style: solid; border-width: 26px; border-image: url("image.png") 26 repeat; width: 200px; height: 200px; background: green; margin: 0 auto; }

:

Örnek . border-image-slice

Parçaların eşit olmadığı başka bir resim alalım:

Resmin hangi kısımlarının kesileceğini belirtelim - 25% 30% 10% 20%. Bunun çalışma şekli şudur: 25% - üstten ofset, 30% - sağdan ofset, 10% - alttan ofset, 20% - soldan ofset. Aslında bu parçalarla köşeleri kesiyoruz. Sol üst köşe, resmin üstünden 25% ve solundan 20% olacak. Sağ üst köşe, resmin üstünden 25%, ve sağından 30% olacak ve benzeri şekilde.

Ayrıca, fareyi bloğun üzerine getirirseniz fill anahtar kelimesi devreye girecek ve resmin orta kısmı bloğumuzun arka planı olacak:

<div id="elem"></div> #elem:hover { border-image: url("image.png") fill 25% 30% 10% 20% stretch; } #elem { border-style: solid; border-width: 52px; border-image: url("image.png") 25% 30% 10% 20% stretch; width: 200px; height: 200px; margin: 0 auto; }

:

Örnek

doğrusal degrade kullanarak gradyan kenarlık yapalım:

<div id="elem"></div> #elem { background: green; border-image: linear-gradient(to bottom, red, blue) 30; border-width: 30px; border-style: solid; width: 200px; height: 200px; margin: 0 auto; }

:

Örnek . border-image-width

border-image-width değerini 2 olarak ayarlayalım (kenarlık resmi kenarlığın 2 katı büyüklüğünde olacak). Bu, öğenin üzerine fare getirildiğinde olacak (26/2 - eğik çizgiden sonra belirtildi, 26 - border-image-slice değeridir). Kenarlığın kendisinin genişlemediğine, ancak kenarlık resminin genişlediğine ve metnin altına gireceğine dikkat edin:

<div id="elem"></div> #elem:hover { border-image: url("image.png") 26/2 repeat; } #elem { border-style: solid; border-width: 26px; border-image: url("image.png") 26 repeat; width: 200px; height: 200px; background: green; margin: 0 auto; }

:

Örnek . border-image-outset

border-image-outset değerini 3 olarak ayarlayalım. Bu, öğenin üzerine fare getirildiğinde olacak. (26/1/2 - ikinci eğik çizgiden sonra belirtildi, 26 - border-image-slice değeridir, - 1 - border-image-width değeridir):

<div id="elem"></div> #elem:hover { border-image: url("image.png") 26/1/3 repeat; } #elem { border-style: solid; border-width: 26px; border-image: url("image.png") 26 repeat; width: 200px; height: 200px; background: green; margin: 0 auto; }

:

Ayrıca Bakınız

Türkçe
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenЎзбекOʻzbekTiếng Việt
Web sitesinin çalışması, analiz ve kişiselleştirme için çerezleri kullanıyoruz. Veri işleme, Gizlilik Politikası'na uygun olarak gerçekleşir.
tümünü kabul et özelleştir reddet