2011. szeptember 13., kedd

CSS Text Selection Text Selection Color

Most egy érdekességet szeretnék röviden bemutatni, ami egy korábbi szakaszban része volt a CSS 3 specifikációnak. Azóta kivették belőle, de addigra már több böngésző is támogatta, így a Gecko (Firefox), Presto (Opera) és a Webkit (Safari, Chrome) alapú böngészőkben fenn maradt. A kérdéses tulajdonság a selection, ami lehetővé teszi a kijelölés és a kijelölt szöveg színének beállítását. Alkalmazása a következő módon történik:
1::selection {
2background: #FFFF00;
3color: #00FF00;
4}
5
6::-moz-selection {
7background: #FFFF00;
8color: #00FF00;
9}
Az egyszerűen selection néven futó tulajdonságot a Webkit és a Presto érti, a Gecko számára pedig a -moz-selection tuladonságra van szükségünk. Az eredményt mindenki kipróbálhatja az alábbi szövegen.


Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.

A dolog gyakorlati haszna elenyésző, de ha a designt odáig akarjuk finomítani, hogy a kijelölés színét is szeretnénk az oldal színvilágához igazítani, akkor nem teljesen haszontalan. Talán még az is lehet, hogy visszakerül a CSS 3 specifikációi közé.

firefox-gradient CSS 3 gradiens a Firefox 3.6-ban

Az eddig bemutatott CSS 3 technikák mindegyike működött Webkit motor alatt (azaz Safarin és Chrome-on), de a Firefox 3.5 nem állt ilyen jól. Reményre adott okot, hogy a Firefox 3.6 Alpha1 Codename Namoroka viszont gyakorlatilag mindent tudott, amit a Webkit-es böngészők. Ehhez képest igencsak meglepődtem, amikor kijött a 3.6-os Firefox, és ami működött az Alphában, az elsőre nem működött a végleges verzióban.
De aztán helyreállt a világ rendje, kiderült, hogy működik az, csak már nem azt a szintaxist kell használni, mint az alpha verzióban. Az új szintaxis a következő:
1-moz-linear-gradient( [<point> || <angle>,]? <stop>, <stop> [, <stop>]* );
2-moz-radial-gradient( [<point> || <angle>,]? [<shape> || <size>,]? <stop>, <stop>[, <stop>]* );
A lineáris gradiens változóinak magyarázata a következő. A point jelenti a gradiens kezdőpontját. Ugyanazok az értékek elfogadhatóak, mint a background-position esetében. Ha csak egy értéket adunk meg (pl. left), akkor a másik tengely menti értéket center-nek tekinti. Az angle jelenti a gradiens irányszögét. Megadható fokban, gradban vagy radiánban. A stop pedig egy színt jelölt, amelyhez opcionálisan egy helyet is megadhatunk a gradiensen belül, ahol a gradiensnek azt a színt fel kell vennie. Lássunk egy példát is (balra a gradiens, jobbra ugyanaz képként, arra az esetre, ha valaki nem Firefox 3.6-tal nézi):

 nem Firefox 3.6-tal nézi):

1background: -moz-linear-gradient(top, #000, #FFF);
A körgradiens esetében további változók szorulnak magyarázatra. A point alapértelmezett értéke az objektum középpontja. A shape változó a circle vagy az ellipse értéket veheti fel, ebből az utóbbi az alapértelmezett. A circle választásával kapunk tehát valódi körgradienst, egyébként elipszis alakú lesz. A size változó segítségével beállíthatjuk azt, hogy a gradiens hol érjen véget (meddig terjedjen). A lehetséges értékek a következők:
closest-side
A gradiens a doboz legközelebb eső oldaláig terjed. A closest-side szinonímája a contain.
closest-corner
A gradiens a doboz legközelebb eső sarkáig terjed.
farthest-side
A gradiens a doboz legtávolabb eső oldaláig terjed.
farthest-corner
A gradiens a doboz legtávolabb eső sarkáig terjed. A closest-side szinonímája a cover.
Íme erre is egy példa (balra a gradiens, jobbra a kép, mint fent):
1background: -moz-radial-gradient(cover, white, black);
A Firefox a 3.6 verzióval tehát jelentősen ledolgozta a hátrányát a Webkit-es böngészőkkel szemben. Egyetlen kellemetlenség, hogy aki még az alpha verzióhoz optimalizálta a CSS-t, annak újra kell írnia (pl. nekem). Részletesebb információkat a témáról a Mozilla Developer oldalakon találtok (Using gradients, -moz-linear-gradient, -moz-radial-gradient), angol nyelven.
5 hozzászólás

CSS pszeudo-osztályok

A következő cikkben a CSS 3-ban bevezetett új pszeudo-osztályokkal foglalkozunk majd, de hogy mindaz amit majd ott írok ne lógjon a levegőben, térjünk vissza egy kicsit a CSS 2-höz, és ismerjük meg az abban bevezetett pszeudo-osztályokat.
A CSS pszeudo-osztályai olyan nyelvi megoldások, amelyek segítségével külön stílusokat rendelhetünk az elemek egyes állapotaihoz. Legismertebb megnyilvánulása az, amikor egyes weboldalakon egy link fölé visszük az egérkurzort, és ennek hatására annak megváltozik a színe, vagy — ha addig nem volt aláhúzva — megjelenik az aláhúzás esetleg éppen fordítva. Persze ez csak a jéghegy csúcsa, íme az összes példa egy csokorba gyűjtve, alább pedig az egyes pszeudo-osztályok részletesen.
:link A linknek az az állapota, amelyet akkor vesz fel, amikor nincs fölötte a kurzor, és a link még nem lett meglátogatva. Az alábbi beállítással elérhetjük, hogy a linkünk ilyenkor sötétkék legyen.
1a:link { color: #0000CC; }
:visited A linknek az az állapota, amelyet akkor vesz fel, amikor a linket már meglátogattuk. Az alábbi beállítással elérhetjük, hogy a linkünk ilyenkor lila legyen.
1a:visited { color: #990066; }
:hover Az elem akkor kerül ebbe az állapotba, ha az egérkurzor fölötte áll. Nem csak linkre használható, szinte tetszőleges elemre vonatkozhat. A következő beállítással világoskékre változtathatjuk az egérkurzor alatti bekezdés színét.
1p:hover { color: #0099FF; }
:active Az elemnek az az állapota, amikor rákattintottunk, de még nem engedtük fel az egeret. Az alábbi beállítással elérhetjük, hogy bekezdésünk ilyenkor piros legyen.
1p:active{ color: #FF0000; }
:focus Az elemnek a fókuszált állapota, amikor az adott elem kapja a billentyűzetről érkező információt. Tipikus példa az input szövegmező, amely a következő beállítással világosszürke alapszínt kap fókuszált állapotban. Ez például egy hosszabb űrlapon segít követni, hogy épp melyik mezőnél tartunk.
1input:focus { background-color: #CCCCCC; }
:first-child Ezzel olyan elemeket választhatunk ki, amelyek a szülő elemük első gyermekei. Ha például van egy <div>-ünk, és abban <p> bekezdéseink, akkor a p:first-child alatt megadott beállítások csak az első bekezdésre vonatkoznak majd. Az alábbi beállítás például narancssárgára színezi az első bekezdést.
1p:first-child { color: #FF6600; }
:lang(xx) Ezzel a pszeudo-osztállyal nyelv-specifikus beállításokat adhatunk meg. (Az egyes nyelvek kódjai itt érhetők el.) A nyelvet nekünk kell megadnunk a html fájlban (pl. a <p lang="la"> latin nyelvű bekezdést jelöl), a CSS-ben pedig azt adhatjuk meg, hogy a html-ben adott nyelvi szövegként megjelölt rész milyen stílusbeállításokat kapjon. A következő beállítás például kékre színezi a latin nyelvű bekezdéseket.
1p:lang("la") { color: #0000FF; }
Végezetül néhány szó a kompatibilitásról. Az Internet Explorer-en kívül más népszerű böngészővel nem lesz gondunk, így a következők csak az IE támogatásról szólnak:
  • :link, :visited — IE6
  • :hover — IE6 csak linkekre, IE7-től egyéb elemekre is
  • :active — IE6, IE7 csak linkekre, IE8 egyéb elemekre is
  • :first-child — IE7
  • :focus, :lang — IE8
Részletesebb információk a támogatásról itt találhatók.

CSS 3 pszeudo-osztályok

Miután megismerkedtünk a CSS 1 és 2-ben bevezetett pszeudo-osztályokkal, ideje megnézni, hogy mi újat hoz ezen a területen a CSS 3. Aki azt várja, hogy rengeteg új lehetőséget kapunk ezen a területen, nem fog csalódni. Az új pszeudo-osztályoknak hála rugalmasan rendelhetünk különböző stílusokat tartalmainkhoz, a nélkül, hogy osztályok sorozatával kellene teletűzdelnünk html fájlunkat.
Egy kép többet ér ezer szónál, ezért kezdjük az ismerkedést egy példával. Igyekeztem egy olyan példafájlt szerkeszteni, ahol együtt tudom bemutatni mindazt, amiről ebben a posztban írni szeretnék. Elég nehéz volt minden lehetőségre olyan példát kitalálni, ami akár hasznos is lehet a való életben, de remélem, hogy ez a pszeudo-osztályok többségében sikerült. A példafájl első látásra valószínűleg kínai lesz, de az alábbi magyarázatokkal talán hasznosnak bizonyul.
:target Bizonyára ismeritek az egyes oldalakon belül elhelyezhető ún. “horgonyokat”, amelyek lehetővé teszik, hogy egy link ne egy adott oldalra, hanem az oldalon belül valahova mutasson. Ha egy ilyen linkre kattintunk, akkor az URL végén #valami látható, ahol a valami a horgony neve. Pl. a http://www.css-3.hu/wp-content/code-samples/css-pseudo-class.html#section1 jelenik meg a címsorban ha a példa fájl tartalomjegyzékének első hivatkozására kattintunk, ahol a link célpontjaként az első bekezdésre mutató horgony van beállítva. Az ilyen “célpontokhoz” lehet stílusokat rendelni a :target pszeudo-osztállyal. Ezt a lehetőséget a példában arra használtam fel, hogy a horgony célpontját képező h3 fejlécnek saját stílust adjak. Tehát ha a felhasználó a tartalomjegyzékről egy adott horgonyra ugrik, akkor a horgony mellett megjelenik egy piros csík, jelezve, hogy “ide ugrottál”. A szükséges kód a következő volt:
1h3:target {
2border-left: red thick solid;
3padding-left: 20px;
4}
:nth-child A CSS pszeudo-osztályokkal foglalkozó korábbi posztban foglalkoztam a :first-child pszeudo-osztállyal, ami lehetővé tette, hogy egy elemre akkor vonatkozzon a megadott stílus, ha ő a DOM struktúrában a szülő elemének az első gyermeke. Ezt a lehetőséget bővíti ki az :nth-child pszeudo-osztály, úgy hogy ne csak az első, hanem tetszőleges sorszámú elem vagy elemek legyenek kiválaszthatóak. A 3. elem kiválasztása például az :nth-child(3) megadásával történhet. De itt még nem ér véget az örömünk, ugyanis ennél lényegesen többet tud ez a pszeudo-osztály! A zárójelek között ugyanis nem csak egy konstanst adhatunk meg, hanem egy an+b alakú kifejezést, tehát előírhatjuk, hogy a stílus minden valahányadik elemre vonatkozzon. A példában ezt a táblázat páros sorainak alászínezésére használtam föl, a következő kóddal:
1tbody tr:nth-child(2n+2) {
2background-color: #C4EAEA;
3}
Minden 2. sort akartam alászínezni, és mivel az n 0-ról indul (erre nincs befolyásunk), ezért kellett a +2.
:only-of-type Ez az érdekes pszeudo-osztály azokat az elemeket választja ki, akik egyedüliként léteznek adott típusúként a szülő elemükön belül. A példába tettem egy olyan sort, amiben csak egy kép van és egy olyat, amiben három. Az :only-of-type segítségével beállítottam, hogy abban az esetben, ha csak egy kép van az adott sorban, akkor az kapjon egy bordó keretet. Ehhez a következő kódot használtam.
1img:only-of-type {
2border: #990000 solid thick;
3}
Persze lehet vitatkozni azon, hogy ennek mennyi haszna van, de el tudok képzelni olyan design-t, ahol más stílust akarunk adni egy elemnek ha egyedül áll, és mást, ha több egyforma is van belőle.
:not() Ez is egy érdekes pszeudo-osztály. Segítségével a stílus hatálya alól kizárhatunk egy adott osztálynak megfelelő elemet. A példában ezt arra használtam fel, hogy lent, a Hozzászólások részben minden olyan hozzászólás-fejlécet szürkével jelenítsek meg, amelyet nem az admin írt, azaz nem rendelkezik az admin_comment osztállyal. Ez a kizárás a következő kóddal valósult meg:
1.comment_header:not(.admin_comment) {
2color: gray;
3}
Kompatibilitás tekintetében egész jól állunk a pszeudo-osztályokkal. Az Internet Explorer kivételével minden fontos böngésző támogatja őket. De még őt is rá lehet a legtöbb CSS 3 pszeudo-osztály támogatására egy javascript framework, például a jquery használatával. Az Operának a :target pszeudo-osztállyal gyűlik meg a baja egy kicsit, mert nem frissíti megfelelően a stílusokat a Back és a Forward gombok használatakor. Ezeket leszámítva minden működik, de itt is érvényes az, ami a CSS 3 megoldásokra általában: mivel a szabvány még nem végéleges, ne használjuk olyan dolgokra amelyek működése nélkülözhetetlen a weboldalunkon.

CSS 3 átmenetek

Az előző posztokban láthattuk, hogy a CSS pszeudo-osztályok segítségével más-más stílust adhatunk egy elemnek annak állapotától függően. De hogyan érhetjük el, hogy a stílusátmenet ne hirtelen, hanem fokozatosan történjen? A CSS 3 transition tulajdonsága lehetőséget ad arra, hogy ilyen effekteket Javascript nélkül is létre tudjunk hozni.
Mivel a tulajdonság pontos megvalósítása még változhat, ezért — ahogy már megszokhattuk — az egyes layout-motor fejlesztők itt is egyedi neveket vezettek be. A Webkit alapú böngészők esetén -webkit-transition, a Gecko alapúaknál -moz-transition, a Presto esetében pedig -o-transition a tulajdonság pontos neve. Szerencsére paraméterezésük minden motor esetén megegyezik. Akik fejből tudják, hogy melyik böngésző melyik layout-motort használja, azok az előző mondatból már kikövetkeztették, hogy a Chrome, a Safari, a Firefox és az Opera a szerencsés nyertesek. Viszont hozzátartozik az igazsághoz, hogy mivel a Gecko csak az 1.9.3 verziótól támogatja, ezért a Firefox csak a még meg nem jelent 3.7-es verziótól tudja az itt leírtakat. Az Opera pedig, bár elvileg támogatja, gyakorlatilag nem mindig a várakozásoknak megfelelően jeleníti meg az átmeneteket. Így végeredményben azt kell mondanom, hogy a példák maradéktalan élvezetéhez Webkit alapú böngésző (azaz Chrome vagy Safari) javasolt. Ha beállítjuk CSS-ben az alapértelmezett színt, akkor Opera alatt is a várakozásoknak megfelelően működik. A többi böngészőnél ez nem fontos.
A hosszas bevezető után lássuk a két példánkat, amelyeken keresztül a dolog működését szemléltetjük. Az alábbi képek élesebbek, ha az egeret föléjük mozgatjuk, egyébként elhalványodnak. Ami a lényeg: ez a változás nem egyből, hanem fél másodperc alatt zajlik le. (Akinél egyből megtörténik, annak a böngészője nem támogatja ezt a tulajdonságot).
Az Ön böngészője nem támogatja az &lt;em&gt;iframe&lt;/em&gt; használatát.
A fenti példa létrehozásához a következő kódot alkalmaztam:
1img {
2    opacity: .5;
3    -webkit-transition: opacity .5s ease-in;
4    -moz-transition: opacity .5s ease-in;
5    -o-transition: opacity .5s ease-in;
6}
7img:hover {
8    opacity: 1;
9}
Most lássunk egy példát egy olyan űrlapra, ahol az éppen kiválasztott beviteli mező háttere megváltozik:


A varázslat a következő beállításoknak köszönhető:
1input, textarea {
2    background-color: white;
3    -webkit-transition: background-color .5s linear;
4    -moz-transition: background-color .5s linear;
5    -o-transition: background-color .5s linear;
6}
7input:focus, textarea:focus {
8    background: #eeeeee;
9}
Most következzen a kód magyarázata. A fenti példákban a transition ún. shorthand formáját alkalmaztam, azaz egyben adtam meg több beállítást:
1transition:  [ <transition-property> || <transition-duration> || <transition-timing-function> || <transition-delay> ]
Lássuk az egyes tulajdonságokat külön-külön:
transition-property
Itt kell megadnunk azt a tulajdonságot, amelyre az átmenetet alkalmazni akarjuk. Ez lehet egy szín (color), lehet az áttetszőség (opacity), de lehet az elem szinte bármely tulajdonsága, mint például a  left, a border-width, stb. Nyilvánvalóan nem értelmezhető viszont az olyan tulajdonságokra, amelyekből nem lehet átmeneteket képezni, mint például a position, a display, stb.
transition-duration
Itt állíthatjuk be, hogy mennyi idő alatt menjen végbe az átmenet. Például 1.5s beállítása esetén — nem meglepő módon — másfél másodperc alatt fog az átmenet lezajlani.
transition-timing-function
Itt egy függvényt adhatunk meg az átmenet sebességének meghatározására. Ha a linear beállítást használjuk, akkor az átmenet egyenletes sebességgel megy végbe. Az ease-in hatására az átmenet lassan kezdődik és később gyorsul fel. Az ease-out ennek az ellenkezője: gyorsan indul, és a végén lassabb. Vagy megadhatunk tetszőleges Bézier-görbét a sebesség meghatározásához: cubic-bezier(x1, y1, x2, y2).
transition-delay
Ha azt szeretnénk, hogy az átmenet ne egyből, hanem egy bizonyos idő elteltével kezdődjön, akkor ennek a tulajdonságnak is érteket kell adnunk. A fenti példákban ezt nem használtam.
A transition tulajdonságok részletes leírását az egyes layout-motorok szemszögéből ezeken a linkeken találjátok: Webkit, Gecko, Presto.
A CSS 3 tehát ismét kezünkbe adott egy lehetőséget, hogy egy, a modern web designban népszerű, effektet jQuery vagy egyéb Javascript megoldás nélkül alkalmazhassunk. Ráadásul mivel az ehhez hasonló effektek ritkán nélkülözhetetlen elemei egy weboldalnak, még azért sem kell aggódnunk, hogy mi van akkor ha egy nem kompatibilis böngészőben az átmenet nem fokozatosan, hanem egyből végbemegy. A web design szakma egyre inkább egyetért abban, hogy itt az ideje a weboldal építésnél azt a szemléletet magunkévá tenni, hogy a funkcionalitásnak működnie kell minden népszerű böngészőben, viszont ha a egy-két spéci effekt csak a legkorszerűbb böngészőkben látható az még nem a világ vége.
 

CSS hátterek

A CSS alapjaival foglalkozó sorozat jelenlegi részében a CSS segítségével megvalósítható hátterekkel foglalkozunk. Háttere szinte minden DOM entitásnak lehet, de talán legtöbbször a body illetve a div elemekhez szoktunk hátteret beállítani. A beállításhoz a CSS background tulajdonságának különböző variációira lesz szükségünk.
A background-color segítségével beállíthatjuk a háttér színét. Ez főleg akkor hasznos, ha nem valamilyen képet akarunk beállítani háttérként vagy fennáll annak a lehetősége, hogy a háttérként beállítani kívánt kép mérete nem éri el a teljes kitöltendő területet, és a kép által nem takart rész színét mi akarjuk meghatározni. A legfontosabb az, hogy mindig ügyeljünk a háttér és a tartalom kontrasztjára, mert a fekete alapon sötétszürke betűk — és még rengeteg további példát sorolhatnék — olvasása rendkívül fárasztó, így látogatóink otthagyják az oldalt akármennyire érdekes is a tartalom. A következő beállítással például feketére állíthatjuk az egész oldal hátterét:
1body {
2background-color: black;
3}
A background-image tulajdonság beállításával egy képet használhatunk háttérként. Mivel háttérképről van szó, ezért célszerű olyan képet választani, amely nem vonja el a figyelmet a tartalomról. Ehhez általában az kell, hogy a kép ne legyen nagyon harsány, lehetőleg legyen homogén és elegendő kontraszt maradjon közte és a tartalom között. A következő példa egy szakasz háttérképét állítja be:
1div {
2background-image: url(background.jpg);
3}
A background-repeat segítségével adhatjuk meg, hogy a background-image-ként beállított háttérkép ismétlődjön-e vagy sem. A repeat, a repeat-x, a repeat-y és a no-repeat beállítások közül választhatunk. A repeat megadásával a képet – ha az kisebb, mint az elem, aminek a hátterének beállítottuk – mind függőlegesen, mind vízszintesen ismétli úgy, hogy az elemet teljesen lefedje. A no-repeat ennek pontosan az ellenkezője: nem ismétli meg a képet, akkor sem, ha így az elem valamekkora része háttérkép nélkül marad. Ilyenkor a képpel nem fedett rész a background-color tulajdonság által megadott színű, vagy ennek hiányában alapértelmezett színű (általában fehér). A repeat-x csak vízszintesen, a repeat-y pedig csak függőlegesen ismétli a beállított háttérképet. A következő beállítás nem ismétli a háttérképet:
1body {
2background-repeat: no-repeat;
3}
Háttérképünknek nem kötelező az alapértelmezés szerinti középen lennie. A background-position beállításával megadhatjuk, hogy a háttérkép hova kerüljön. A beállításnál a top, bottom, center, left és right lehetőségeken kívül pontos értéket vagy százalékot is megadhatunk. A következő példa a háttérképet balra, és az elem tetejéhez képest 10 pixellel lejjebb igazítja:
1div {
2background-position: left 10px;
3}
A végére hagytam a legérdekesebbet, a background-attachment tulajdonságot. Két beállítási lehetősége van: a scroll és a fixed. Ha a scroll van beállítva – ez az alapértelmezett -, akkor az elem görgetésével annak háttere is vele együtt mozog. A fixed beállítás esetén viszont a háttér helyben marad, és görgetéskor csak a tartalom mozog. A fixed beállítás ízléses alkalmazása sokszor feldobja az oldal összhatását. A következő példa rögzíti az oldal hátterét:
1body {
2background-attachment: fixed;
3}
Ha szeretünk rövidíteni, használjuk a background tulajdonságot, amely lehetőséget ad a fentiek egyszerre való beállítására. A sorrend ilyenkor a következő kell legyen: background-color, background-image, background-repeat, background-attachment, background position. Például:
1body {
2background: black url(background.jpg) no-repeat fixed left 10px;
3}
A fent bemutatott background-tulajdonságok minden elterjedt böngésző esetében használhatóak.



  másik cikk 




Lately I’ve had a lot of requests from clients for photo galleries. I decided I needed to see what css options I could come up with to keep my galleries interesting which would allow each site to look unique. Here are a few examples that I came up with.

Simply Stated

This is possibly the simplest border but one that is high on style. This one pixel solid border has 5 pixels of padding and a background color.
Sparrow
The CSS:
1
2
3
4
5
6
.plain {
    border: 1px solid #4C3C1B;
    padding: 5px;
    width: 300px;
    background-color: #EFEECB;
    }

Snapshot

If you wanted all of your images to look like Polaroid pictures, you could use this easy technique. By increasing the padding-bottom you get that “polaroid” look.
Lime
The CSS:
1
2
3
4
.snapshot {
    border: 1px solid #666666;
    padding: 10px 10px 60px 10px;
    }

Art Gallery

This technique gives each one of your images the appearance of being framed and placed in an art gallery.
moon
The CSS:
1
2
3
4
5
.art {
    border-style: double;
    padding: 16px;
    background-color: #DCDCED;
    }

Above and Below

Place a double border above and below your photo for a cool look!
owl
The CSS:
1
2
3
4
5
6
7
8
9
.ridge {
    border-top-width: 4px;
    border-bottom-width: 4px;
    border-top-style: double;
    border-bottom-style: double;
    border-top-color: #E1A60A;
    border-bottom-color: #E1A60A;
    padding: 8px 0px;
    }

Hearts

This isn’t supported in all browsers but it’s still fun! Using the border-style: dotted; and playing with the width of the image, you can get four hearts in each corner!
balloons
The CSS:
1
2
3
4
5
.hearts  {
    border: 10px dotted #29C3FF;
    margin: 0;
    padding: 0;
    }

Patterned Background

Your options using a patterned background are limitless. This example also used a 1px border around the patterned background for a little more detailing.
books
The CSS:
1
2
3
4
5
.pattern {
    padding: 11px;
    background-image: url(squares.jpg);
    border: 1px solid #E95683;
    }

Shadow with Image

This is a similar technique as the one above using a background image. Instead of using a patterned background, I made a graphic of a shadow. To use this technique you have to know the size of your photo, create a rectangle a few pixels larger than your photo. In this example the photo is 300px wide by 199 pixels in height, I’ve created a rectangle that is 319px wide by 218 px in height. Soften the edges with your graphics software and save.
Here is the shadow image:
shadow
Add this to a div as a background and you get a pretty nice effect!
armchair
The CSS:
1
2
3
4
.shadow {
    background-image: url(shadow.jpg);
    padding: 9px;
    }

Off Balance

This example has a heavier border on the right and bottom plus a background color.
bottles
The CSS:
01
02
03
04
05
06
07
08
09
10
11
.right {
    width: 300px;
    padding: 0px 6px 6px 0px;
    background-color: #9FB2C1;
    border-top-width: 2px;
    border-right-width: 5px;
    border-bottom-width: 5px;
    border-left-width: 2px;
    border-style: solid;
    border-color: #082F70;
    }

Grunge

This example has a mask applied to a rectangle that I made in a graphics program.
Using the rectangle as a background image in the div creates a pretty interesting effect.
Here is the rectangle with the mask applied.

Here is the finished gallery example:

The CSS:
1
2
3
4
5
.grunge {
    background-image: url(laptop-graphic.jpg);
    padding: 26px 23px;
    width: 223px;
    }
Finally because this question still comes up often, I’ll show you a rounded corner border option!

Rounded Corners

There are several ways to do this example, but I will show you my favorite!
First start with a rounded corner graphic that you create in your graphics program.

Your next step is to slice it into three images.
Top

Center

Bottom

This method takes three divs. The html will look like this:
1
2
3
4
5
<div class=&quot;roundtop&quot;></div>
 
<div class=&quot;roundside&quot;>Place Your Image Here </div>
 
<div class=&quot;roundbottom&quot;></div>
The top and bottom div classes each have to have a width and height declared in order to see the background image.
The center div which I called “roundside” which holds the image will have “repeat-y” added.
Here is the completed result as well as css.
rounded corner
The CSS:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
.roundtop {
    background-image: url(rounded-top.jpg);
    width: 315px;
    height: 10px;
    }
.roundside {
    background-image: url(rounded-sides.jpg);
    background-repeat: repeat-y;
    width: 315px;
    text-align: center;
}
.roundbottom {
    background-image: url(rounded-bottom.jpg);
    width: 315px;
    height: 10px;
}
Take some of these examples and expand upon them to create your own new css border design ideas!

2011. szeptember 12., hétfő

Hasznos Firefox kiegészítők - a szerkesztő ajánlása

Hasznos Firefox kiegészítők - a szerkesztő ajánlása



Ebben a cikkben elolvashatod milyen kiegészítőket használok az általános böngészés során és magazin szerkesztéshez, amelyeket mindenkinek ajánlok, és miért a Firefoxot ajánlom elsődleges böngészőnek.
A böngésző-piac vezető böngészői mára már mind gyorsak, biztonságosak és nagy teljesítményűek (Az Internet Explorer kivételével), ezért nehéz kiválasztani hogy melyiket is használjuk.

Én már nagyon régóta a Firefoxot használom, mégpedig azért mert rengeteg hasznos kiegészítő telepíthető hozzá, és az egész böngésző kinézete testre szabható.
A Firefox az egyik legkedveltebb és legnépszerűbb böngésző a Hotdogon, és Magyarországon.

A Firefoxot letöltheted INNEN, vagy a fenti képre kattintva.

Saját tapasztalatim alapján a Firefox alkalmazza a legtökéletesebben a régi CSS 2.1-es szabványt, például az attribútum szelektort, amely kulcsfontosságú a Hotdogos oldalak CSS-el történő átalakításában, és a CSS 3 új tulajdonságait/effektjeit és kitűnően kezeli.

A Firefox fejlesztői külön figyelmet fordítanak a web-fejlesztőkre, web-designerekre, fórumokat működtetnek, és támogatást nyújtanak az egyszerű szörfözőknek, és az oldalak készítőinek is.

Kinézet: A Firefox-hoz készítették eddig a legtöbb témát, többet mint az összes többi böngészőhöz összesen, és egy a 3.6-os verzióban megjelenő kiegészítővel, az eredeti Firefox skin hátterét lehet megváltoztatni, ezek a personák.
Én a Vfox3 témát használom (lásd lejjebb), ami szolid, egyszerű megjelenésű, nincs benne sok dizájnelem.

Kiegészítők:

Adblock Plus - reklámszűrő
Ez egy olyan kiegészítő ami számomra létfontosságú, hiszen el lehet vele tüntetni az összes reklámot az oldalakról. Telepítés után, a beállításoknál, Külső szűrőket kell hozzáadni, a listán található összeset is akár, ezután már böngészhetünk is reklámmentesen. Az oldalakon levő akármelyik elemet aminek linkje van (értsd: képek, flash objektumok), kézileg is ki tudjuk blokkolni, kattintsunk a kiegészítő ikonjára, majd a listán keressük meg a linkjét az elemnek.
Ha a gyakran látogatott oldalakon olyan képek vannak amiket nem akarsz soha többé látni, akkor ez a kiegészítő rá a megoldás.


Video DownloadHelper - médiatartalmak gyors letöltése

Alapfunkciója a videófájlok letöltése, pl YouTube-ról, de minden oldalon működik, detektálja a böngésző és a szerver közötti médiafájlok átvitelét, magyarul kilistázza ha egy látogatott oldalon elérhető egy videofájl, VAGY zenefájl, képfájl stb. Ezeket a kiegészítő beállításaiban megadhatjuk.

Firebug - weboldal-elemző, módosító, hibakereső

Ez a kiegészítő a web-programozók, webfejlesztők legjobb eszköze, az oldalakat lehet betöltés után elemezni, részletesen kivizsgálni, módosítani, tesztelni, egyszóval tökéletesíteni. A használata nem egyszerű, de ha megtanulja valaki, azzal nagyban megkönnyítheti a munkáját a CSS, HTML és JavaScript kódok írásakor, és alkalmazásakor. Számomra szintén létfontosságú, ha te is haladó szinten vagy érdemes kipróbálnod.

ColorZilla

Ez az apró kiegészítő abban segít hogy az oldal akármelyik pixelének a színkódját gyorsan megállapítsuk. Feltelepítés után a böngésző bal alsó sarkában az ikonra kattints, aztán vidd az egeret az oldalon bárhova, majd kattints, és máris kiírja azt a színkódot amire kattintottál az oldalon.

QuickRestart

Az egész Firefox böngészőt újraindítja, tehát bezárja és megnyitja, majd megjeleníti a bezárt oldalakat, mindezt a Fájl menüből egy kattintással, vagy a CTRL + ALT + R billentyűkombinációval.

User Agent Switcher

Ha egy oldal lekéri a Firefox böngészői adatait, tehát meg akarja állapítani hogy milyen böngészőt használunk, alaphelyzetben ugye látja hogy Firefox, de ezzel a kiegészítővel az oldalaknak hazudhatunk, egy egyszerű beállítás módosításával, azt tettethetjük hogy pl Internet Explorer-t használunk.
Ennek segítségével pl lehet használni a myVIP rejtett módját Firefoxban!

Greasemonkey

Felhasználó JavaScripteket futtathatunk az általunk megadott oldalakon, csak hozzáértőknek ajánlott, segítségével módosíthatjuk az oldalak kinézetét és működését, minden alkalommal amikor egy megadott oldalra lépünk.


Így néz ki az egész egyben:



A látható kiegészítőkkel:



A böngésző felső része a lehető legkevesebb helyet foglalja el, így több hely marad a az oldalak tartalmának.
A hagyományos menüsor megléte is nagyon fontos, hiszen innen rengeteg alap funkció érhető el, és a kiegészítők beállításai is itt vannak.

Ha valaki ilyen részletesen beállítja a böngészőjét, igazán elvárhatja hogy ezt el is tudja menteni és megőrizni, erre is van természetesen lehetőség, a Firefox az összes kiegészítőjét, és beállítását egy mappába tárolja, windows 7 OS-en itt:
MEGHAJTÓ:Documents and Settings[neved]Application DataMozillaFirefox

Összességében számomra a Firefox a kedvenc böngészőm bővíthetősége, funkcionalitása, és támogatottsága miatt, ezért ajánlom mindenkinek.

Flash fájlok beillesztése

Sokan kérdeztétek már ezért megosztom azt a kódot is amivel flash fájlt lehet beilleszteni, olvass tovább...

<embed height="300" width="250" style="position: absolute; top: 100px; left: 200px; z-index: 500;/* CSS by srmark */" src="LINK" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" wmode="transparent" quality="high" align="middle" border="0">


Piros: A flash cucc magassága
Zöld: A flash cucc szélessége
Amit még meg kell adni hogy hova helyzeed el a flash cuccot, ha oda akarod ahova teszed a kódot tehát egy dobozba, akkor töröld ki az egész style-ot, ha el akarod helyezni pl fejlécnek akkor:
Kék: Az oldal tetejétől mért távolság
Narancssárga: az oldal bal szélétől mért távolásga
Lila: a flash cucc elhelyezkedése a többi cucchoz képest rétegszerűen
Világoszöld: A flash cuccod linkje

Lenyíló menü

Ha kis helyre szeretnél sok szöveget listaszerűen tenni pl kedvenc zenéidet stb. akkor ajánlom ezt, az alap HTML select elem megdobva egy kis CSS-el:






Ha szeretnél ilyen menüt itt a kód:


<select id="selectem" style="width: 300px; height: 42px; border: 1px solid #FF5500; background-color: #221111;">
<option style="color: #FF0000; background-color: #330000;" selected="selected">Kattints!</option>
<option style="color: #FF6600; background-color: #331900;">első</option>
<option style="color: #DDFF00; background-color: #2D3300;">második</option>
<option style="color: #44FF11; background-color: #183306;">harmadik</option>
<option style="color: #22DDAA; background-color: #0B2F22;">negyedik</option>
<option style="color: #0066FF; background-color: #001533;">ötödik</option>
<option style="color: #5500AA; background-color: #150022;">hatodik</option>
<option style="color: #AA0099; background-color: #22001F;">hetedik</option>
</select>
<style>
select#selectem option {background-color: #221111; font-family: Comic Sans MS; height: 30px; text-align: center; padding-top: 3px; font-size: 18px;}
select#selectem {color: #FF5500; font-family: Comic Sans MS; margin-top: 3px; margin-left: 7px; text-align: center; padding: 2px; font-size: 25px;}
select#selectem:hover {color: #DD0000; font-family: Comic Sans MS;}</style><!-- HTML & CSS by srmark -->




Nem írom le egyesével hogy mi mit jelent, mert elég hosszú lenne, szerintem körülbelül érthető, csak a színkódokat kell átírni benne meg a betűtípust és a szöveg méretet, próbálkozz és menni fog!

Hozzá lehet adni linket is ehhez a következőt tegyük a kódba:
onClick="window.open('link')"

Ahhoz az option tag-hez tegyük amelyiken akarjuk a linket, a végeredmény ilyen legyen:

<option onClick="window.open('ide_jön_a_link')">szöveg</option>

A linkelés profilon nem működik!


Lehet olyat is csinálni hogy ne lehessen kijelöli egy elemet akkor így nézzen ki:

<option disabled="disabled">szöveg</option>

Mozgó szöveg, dobozok, és dolgok (marquee)

A HTML-ben van egy nem szabványos de sok helyen használt tag ami mozgatni kezdi a dolgokat, lehet az akármilyen objektum:

ha akarsz ilyen futó szöveget olvasd el a cikket!
ez pedig egy másik féle futó szöveg
Íme az elsőnek a kódja:


<marquee style="padding: 2px; height: 25px; border: 1px solid #000000; background-color: #EEEEEE; font-size: 16px; font-family: Comic Sans MS; color: #11BB11;" direction="left"  scrolldelay="1" scrollamount="4">ha akarsz ilyen futó szöveget olvasd el a cikket!</marquee><!-- HTML by srmark -->



Piros: magasság
Kék: keret
Zöld: háttér
Narancssárga: a mozgás iránya: left=balra, right=jobbra, down=lefelé, up=felfelé
Lila: a mozgás sebessége, elvileg mind2 csinál valamit, de az utóbbit (scrollamount) írd át, ha növeled a számot gyorsabb lesz, ha csökkented lassabb
Szürke: a beleírt szöveg tulajdonságai




Ha nem csak szöveget akarsz futtatni itt egy másik kód ami gyakorlatilag ugyanaz csak a kinézete más (a második példa):




<marquee style="margin: 3px; border: 0px; background: transparent none; font-size: 16px; font-family: Comic Sans MS; color: #11BB11" direction="right" scrolldelay="1" scrollamount="4"><div style="border: 1px solid #000000; background-color: #EEEEEE; padding: 2px;">szöveg</div></marquee>



A kódban világoskékkel jelöltem azt a részt amit mozgat tehát azt cseréld le, vagy akár azon belülre is tehetsz dolgokat a szöveg szó kicserélésével.


Leírást találsz még erről ITT.

Imagemap, avagy 1 képen több link (Javítva!)

HTML-ben van egy olyan kód ami egy képre több linket is rá tud helyezni, ezzel remekül lehet menüt, rovatdobozt csinálni, te is biztosan találkoztál már ezzel (1 példa: az MSN magazin bal oldali menüje is ilyen kódot használ), de a profilomon a tartalmak közötti navigációt is ezzel oldottam meg.



<img style="border: none !important;" src="Ide jön a képed direkt linkje" usemap="#NÉV"><!-- HTML by VESTEL -->

<map id="NÉV" name="NÉV">

<area shape="rect" coords="1,2,3,4"
href="1. link">

<area shape="
circle" coords="5,6,7"
href="
2. link">

<area shape="poly
" coords="9,10, 11,12, 13,14, 15,16"
href="
3. link">
</map>



A kód csak annyiból áll amit fent láthatsz, de elmagyarázom hogyan működik: először is megjelenítjük a képet a szokásos img tag-el, majd hozzáadjuk a
usemap="#NÉV"-et és utána lesz a map tagunk, melynek a nevének és id-jének egyeznie kell az img tag-ban megadott névvel. Tehát a 3 pirossal jelölt NÉV szót átírhatod de mindháromnak ugyanannak a szónak kell lennie és a kettőskereszt maradjon a usemap-nál. Add meg a linkeket amire mutassanak a képrészek. Most jön a legfontosabb része, a kódnak, azoknak a helyeknek a kijelölése ahova a linkek kerüljenek, ezeket a pontokat koordinátákkal kell megadni, de ezt is 3 féle képpen tehetjük meg, van a rect ami téglalapot határoz meg, az első 2 szám a téglalap bal felső sarkának koordinátái, a másik két szám a téglalap jobb alsó koordinátái.
Ha nem téglalapot akarunk hanem kör-t akkor a rect szót cseréljük ki circle-re, ilyenkor elég 3 számot megadnunk, az első 2 szám határozza meg a kör középpontját tehát az oldalától és tetejétől való távolságot, a 3. szám a kör sugarát (átmérő fele), természetesen pixelben.
A harmadik módszer az hogy sokszöget határozunk meg, ilyenkor a rect szó helyére poly-t kell írni, tetszőleges számú csúcsa lehet a sokszögnek, a csúcsok koordinátáit ugyanúgy határozzuk meg, 2 szám határoz meg 1 csúcsot, és akármennyi csúcs lehet. A számokat mindig vessző választja el egymástól, de üthetünk szóközt bármelyik vessző után tetszés szerint. A felső kódban az 1. area a téglalap, a 2. a kör, a 3. pedig a sokszög.
A koordinátákat úgy mérheted le hogy megnyitod a képed paint-ben, kinagyítod annyira hogy látszódjanak a pixelek, átváltasz ceruzára, ráviszed az egeret arra a pontra aminek a koordinátáit tudni akarod és a jobb alsó sarokban kiír 2 számot, ezek lesznek a pont koordinátái.

Egy másik leírás (ahol én is megtanultam):
Thomas Web Műhely

Ha valamit nem értesz kommentelj a cikk alá.

Az ezzel a kóddal készült képeken volt egy 3 px vastag kék keret, ezt a böngésző tette rá, ennek az eltüntetésére kiegészítettem a kódot, már nem lesz keret, ezért írtam a cikk fejlécébe h javítva.

Dobozok/képek/elemek elhelyezése a profilon

Üdvözlök minden érdeklődőt!
Ebben a cikkben megmutatom hogyan tudjátok tetszés szerint pakolgatni a dolgokat a profilon akárhova, leírom hogyan tudjátok pozicionálni, vagyis áthelyezni a dolgokat, és azt hogyan lehet beállítani a rétegek sorrendjét, tehát a dobozok/elemek egymás alatt/felett hogyan, milyen sorrendben helyezkedjenek el.
Ahhoz hogy pozicionálni tudjunk dolgokat ez a kód kell:


position: absolute;
top: 200px;
left: 400px;

A top jelöli az oldal legtetejétől való távolságot, a left a bal oldaltól, a position: absolute azért kell hogy az oldal széleitől pozicionálja.

Most jön az a rész hogy ezt a CSS kódot beillesszük a HTML kódunkba, a HTML kód többféle lehet, kezdem egy sima kép kódjával, ha arra illesszük rá így néz ki a kód:

<img style="position: absolute; top: 200px; left: 400px; z-index: 99999;" src="http://users.ml.mindenkilapja.hu/users/srmark/uploads/CSS_mag_banner.png">

A kék rész természetesen a kép direkt linkje.
Ha egy dobozra akarjuk rátenni használjuk ezt a kódot:

<div style="position: absolute; top: 131px; left: 3px; z-index: 99999; height: 30px; width: 130px; border: 1px solid #000000; background: #FFFFFF url();">Ide jöhet a Tartalom</div>


Ha valamit ki akarunk emelni, hogy mindig legelöl legyen használjuk ezt a kódot:

z-index: 99999;

Ezzel a kóddal beállíthatjuk milyen sorrendben legyenek a rétegek, minél nagyobb a szám, annál előrébb van az elem/doboz.
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -

S-VIDEO

egy kis magyarázat képekkel:






kattints a képre a nagyobb méretért!


az első kép a rétegződést mutatja. minél nagyobb a z-index értéke annál közelebb van a kép, a flash, az objektum hozzánk. a kisebb számúak vannak hátrébb szóval takarásban.

rövid példa beillesztőkóddal:

1. háttérkép (amire mindent rárajzolhatsz)

<img id="hatter" style=" position: absolute; top: 0px; left: 0px; z-index: 15; width: 1000px; height: 1000px;" src="háttérkép linkje" align="top">


2. flash videó

<div style="position: absolute; top: 700px; left: 400px; z-index: 800; visibility: visible; "> ide még jön a videó embed beillesztőkódja</div>


3. videó takaró

<img src="ide jön a takarókép linkje" style="position: absolute; top: 700px; left: 400px; z-index: 1200; " border="0">


remélem sikerült érthetően leírnunk... :)


- - - - - - - - - - - - - - - - - - - - - - - - - - - - -
VESTEL

Az alap szavazás dobozt ezzel a kóddal tudod elhelyezni akárhol:


<style type="text/css" rel="stylesheet">
#flash_div {
position:absolute;
top: 510px;
left: 510px;
z-index: 29;}
</style>

Ha nem akarunk külön chatboxot, cboxot és hasonlót elhelyezni az alap hotdogos üzenőfalat is mozgathatjuk ezzel a kóddal:


<style type="text/css" rel="stylesheet">
div#messageBoardBox {
position:absolute;
top: 800px;
left: 50px;
z-index: 1000;}
</style>


Végül pedig az alap havernak/ismerősnek jelölő doboz kódja:

<style type="text/css" rel="stylesheet">
#relationB {
position:absolute;
top: 300px;
left: 600px;
z-index: 1000;}
</style>