![]() |
Kollade på Bredbandsbolagets hemsida och lade märke till hur de har löst rundade hörn på boxar.
http://www.bredbandsbolaget.se/wps/portal/ Traditionellt sett brukar jag, och många lösa detta genom, 4-8 st bilder, ett för varje hörn och kant. Bredbandsbolaget har löst detta med en stor bild; http://www.bredbandsbolaget.se/wps/themes/.../remote_box.gif Css till det hela finner man här: http://www.bredbandsbolaget.se/wps/themes/...v3/B2_boxes.css Någon som är duktig på css som kan förklara hur det fungerar? |
Här är lite mer om rundade hörn med enbart CSS/Javascript (JQuery):
http://www.methvin.com/jquery/jq-corner-demo.html |
http://curvycorners.net brukar jag använda.
|
Jo, men om ni förstod min post så handlade det inte om hur man gör rundade hörn generellt. Och framför allt inte med JS. :P
Kolla på BBB's lösning, den är smart. En bild och lite css. Inget mer. |
Bredbandsbolagets lösning har jag kört tidigare, men i en simplare variant. Det är väl egentligen inte så revolutionerande, men jag har inte sett den användas i två dimensioner tidigare.
Förenklat kan man göra såhär: Antag att du alltid har fast bredd på din box. Kod:
<div> Sätt höjden på box_bottom till något litet (10 pixlar eller så), och lägg in samma bild här, men denna gång med position (0,100%), alltså med utgångspunkt nere till vänster. Eftersom den nedre div:en bara är 10 px hög kommer endast de 10 nedersta pixlarna av bilden att visas, och i den övre div:en visas det av bilden som får plats (detta förutsätter alltså en större bild än själva boxen). Vad bredbandsbolaget har gjort är att de utökat lösningen till ytterigare en dimension, men principen är densamma, det kräver bara två till div:ar. Lätt som en plätt. |
1 bild, sunkig markup och en seg jävla sida.. inget att rekommendera.
Att spamma ut massa extra divs för att "underlätta" (är ju egentligen helt fel ord här^^) är ju bara idiotiskt, då kan vi lika gärna gå tillbaka till tabeller a la rutnäts tänket. |
Citat:
Citat:
Varför skulle det vara segt? man laddar bara in en bild istället för flera. En laddning istället för 8-9? |
De använder väl något som är väldigt nära "css sprites". Bra på det sättet att det är bara en bild att ladda ner och cacha.
|
Citat:
Med den informationen verkar det som det hela går att lösa. Jag återkommer om jag löst det hela :P |
Såhär ser lösningen ut i alla fall, det var lite krångligare än jag förväntat.
Kod:
<style type="text/css"> Kanske är enklare att beskära bilden själv trotts allt? :P |
Jag var också tvungen att göra ett försök. Finns ett litet problem i IE6 som jag inte hinner kika på nu. Men tror lösningen blev lite "renare" i alla fall. Jag använde mig lite mer av absolut positionering för att sätta saker på sin plats, vilket krävde färre divvar. Om man skiter helt i IE6 kan man även ta bort den inre content-divven och sätta paddingen på remoteboxen:
Kod:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" |
Det är kan man bara använda om man vill ha runda hörn med css:en, det är en slags kant, och om man inte är så noga med att det ska funka i dem äldre å läsarna kan du prova..
-moz-border-radius: 4px; -webkit-border-radius: 4px; http://developer.mozilla.org/En/CSS:-moz-border-radius Förhoppnings så blir det standard med CSS3. |
Jag föredrar runda hörn utan bilder
|
Citat:
|
Citat:
|
Citat:
http://www.romancortes.com/blog/homer-css/ Men koden ser fortfarande förjävlig ut. Rundade hörn med så lite onödig markup-kod som möjligt är vad vi i alla fall jag vill åt. |
Citat:
Hellre två rader extra markup och få det perfekt visuellt än att ta genvägar. Visst, man ska sträva efter en ren HTML-markup men inte till varje pris. Det viktigaste är att det fungerar i alla webbläsare. |
Kod:
.top .center, .bottom .center Kod:
<div> |
Citat:
Låt säga vi har en kolumn som är en lista.. (kan låta en wrapper div gå igenom här, allt ska ju ha betydelse till sidan och markupen formad där efter) Som sagt beror ju helt på hur designen är uppbyggd för att koda så optimalt som möjligt, men principen iaf. <div> <ul>[*] <h2></h2> </p>[*][/list]</div> Bam!! 5 block-level element behövs det något mer? (visst paragrafen kan vi räkna bort, men ändå.. 4 element = 4 bilder (4 olika positioneringar av samma bild syftar jag ju då på)) |
Håller med Hjalmarsson. Tänker man till lite behöver man inte alls många taggar. En <h2> eller <ul> funkar alldeles utmärkt att sätta en bakgrund på.
Massa onödiga <div> är lika osemantiskt som att köra med tabeller... |
bwah! skulle då vart en avslutande som vart lite feg och rymde från mitt svar.
|
Citat:
Citat:
Citat:
|
Citat:
Citat:
Innan man kan avgöra om en lösning är rätt eller fel måste man räkan in en den faktorer, vem vänder man sig till? vad är syftet? vad tjänar vi? vad förlorar vi? Vad tjänar man på att använda "css-sprites-teknik"? Man får betydligt mycket mindre HTTP-requests och man får en mer återanvändbar design. Det är inte alltid lika viktigt att en sida har helt "perfekt" kod, många läser aldrig koden. De flesta ser dock designen. Hur som helst så handlade inte denna tråd om "bästa" lösningen på "problemet", utan om tekniken som BBB använde sig av, och även newgrounds, och gamespot. Citat:
|
kul lösning ändå, men varför duger inte den tekniken? kanten såg ju rund ut, räcker inte det? eller e jag helt ute å cyklar (som vanligt :P )
|
Citat:
hemsk markup |
Citat:
|
Citat:
|
Alla tider är GMT +2. Klockan är nu 09:49. |
Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson