Kom ihåg mig?
Home Menu

Menu


Smart lösning på rundade hörn...

 
Ämnesverktyg Visningsalternativ
Oläst 2008-10-15, 15:50 #1
grinditwp grinditwp är inte uppkopplad
Flitig postare
 
Reg.datum: Mar 2008
Inlägg: 320
grinditwp grinditwp är inte uppkopplad
Flitig postare
 
Reg.datum: Mar 2008
Inlägg: 320
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?
grinditwp är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-10-15, 15:52 #2
thorsells avatar
thorsell thorsell är inte uppkopplad
Medlem
 
Reg.datum: Feb 2004
Inlägg: 295
thorsell thorsell är inte uppkopplad
Medlem
thorsells avatar
 
Reg.datum: Feb 2004
Inlägg: 295
Här är lite mer om rundade hörn med enbart CSS/Javascript (JQuery):

http://www.methvin.com/jquery/jq-corner-demo.html
thorsell är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-10-15, 16:02 #3
crazzys avatar
crazzy crazzy är inte uppkopplad
Har WN som tidsfördriv
 
Reg.datum: Aug 2007
Inlägg: 1 089
crazzy crazzy är inte uppkopplad
Har WN som tidsfördriv
crazzys avatar
 
Reg.datum: Aug 2007
Inlägg: 1 089
http://curvycorners.net brukar jag använda.
crazzy är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-10-15, 17:17 #4
grinditwp grinditwp är inte uppkopplad
Flitig postare
 
Reg.datum: Mar 2008
Inlägg: 320
grinditwp grinditwp är inte uppkopplad
Flitig postare
 
Reg.datum: Mar 2008
Inlägg: 320
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.
grinditwp är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-10-15, 17:34 #5
Lindahl Lindahl är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Dec 2004
Inlägg: 854
Lindahl Lindahl är inte uppkopplad
Mycket flitig postare
 
Reg.datum: Dec 2004
Inlägg: 854
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>
  <div class='box_top'>Content</div>
  <div class='box_bottom'></div>
</div>
Sätt bakgrundsbilden på box_top.
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.
Lindahl är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-10-15, 21:33 #6
Hjalmarsson Hjalmarsson är inte uppkopplad
Medlem
 
Reg.datum: Jun 2008
Inlägg: 98
Hjalmarsson Hjalmarsson är inte uppkopplad
Medlem
 
Reg.datum: Jun 2008
Inlägg: 98
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.
Hjalmarsson är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-10-15, 22:16 #7
grinditwp grinditwp är inte uppkopplad
Flitig postare
 
Reg.datum: Mar 2008
Inlägg: 320
grinditwp grinditwp är inte uppkopplad
Flitig postare
 
Reg.datum: Mar 2008
Inlägg: 320
Citat:
Ursprungligen postat av Lindahl
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>
 * *<div class='box_top'>Content</div>
 * *<div class='box_bottom'></div>
</div>
Sätt bakgrundsbilden på box_top.
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.
Tack för ditt svar. Det förklarade en del. Inte vidare svårt alltså.

Citat:
Ursprungligen postat av Hjalmarsson
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.
Hur tycker du att man ska lösa det då?
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?
grinditwp är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-10-15, 23:01 #8
Syke Syke är inte uppkopplad
Medlem
 
Reg.datum: Mar 2008
Inlägg: 297
Syke Syke är inte uppkopplad
Medlem
 
Reg.datum: Mar 2008
Inlägg: 297
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.
Syke är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-10-16, 08:45 #9
grinditwp grinditwp är inte uppkopplad
Flitig postare
 
Reg.datum: Mar 2008
Inlägg: 320
grinditwp grinditwp är inte uppkopplad
Flitig postare
 
Reg.datum: Mar 2008
Inlägg: 320
Citat:
Originally posted by Syke@Oct 15 2008, 23:01
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.
Ja verkar så, bra artikel jag hittade på ämnet, http://www.alistapart.com/articles/sprites

Med den informationen verkar det som det hela går att lösa.

Jag återkommer om jag löst det hela :P
grinditwp är inte uppkopplad   Svara med citatSvara med citat
Oläst 2008-10-16, 09:24 #10
grinditwp grinditwp är inte uppkopplad
Flitig postare
 
Reg.datum: Mar 2008
Inlägg: 320
grinditwp grinditwp är inte uppkopplad
Flitig postare
 
Reg.datum: Mar 2008
Inlägg: 320
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">
<!--
div.remoteBox {
	background: url(http://www.bredbandsbolaget.se/wps/themes/html/B2_Black_v3/images/boxes/remote_box.gif) 0 0 repeat-x #efefef;
	font-size: 10px;
	position: relative;
	margin: -9px 0px 9px 0;
	right: -9px;
	line-height: normal;
}

div.remoteBox div.wrap {
	padding: 0 24px 0 0;
	background: url(http://www.bredbandsbolaget.se/wps/themes/html/B2_Black_v3/images/boxes/remote_box.gif) 100% 0 repeat-y;
}

div.remoteBox div.bi {
	padding: 0 0 0 24px;
	background: url(http://www.bredbandsbolaget.se/wps/themes/html/B2_Black_v3/images/boxes/remote_box.gif) 0 0 repeat-y;
}

div.remoteBox div.bt {
	height: 24px;
	margin: 0 -24px;
	padding-right: 26px;
	background: none;
}

div.remoteBox div.bt div {
	height: 24px;
	background: url(http://www.bredbandsbolaget.se/wps/themes/html/B2_Black_v3/images/boxes/remote_box.gif) 0 0 no-repeat;
}

div.remoteBox div.bb {
	height: 24px;
	margin: 0 -24px;
	background: url(http://www.bredbandsbolaget.se/wps/themes/html/B2_Black_v3/images/boxes/remote_box.gif) 100% 100% no-repeat;
}

div.remoteBox div.bb div {
	width: 24px;
	height: 24px;
	background: url(http://www.bredbandsbolaget.se/wps/themes/html/B2_Black_v3/images/boxes/remote_box.gif) 0 100% no-repeat;
}
div.remoteBox div.tableContainer {
	width: auto;
}

-->
</style>
<br>
<br>

<!--BOX 1-->
<div class="remoteBox" style="width:400px;">
	<div class="wrap">
 *<div class="bi">
 *	<div class="bt"><div></div></div><!-- bt -->
 * *<div class="tableContainer">
 * * * * * * * * * *TEST!<br />
 * * * * * * * * * *TEST!<br />
 * * * * * * * * * *TEST!<br />
 * * * * * * * * * *TEST!<br />
 * * * * * * * * * *TEST!<br />
 * * * * * * * * * *TEST!<br />
 * * * * * * * * * *TEST!<br />
 * * * * * * * * * *TEST!<br />
 * * * * * * * *</div>
 * * * * * * <div class="bb"><div></div></div><!-- bb -->
 *</div><!-- bi -->
	</div><!-- wrap -->
</div><!-- remoteBox --><br>


<!--BOX 2-->
<div class="remoteBox" style="width:300px;">
	<div class="wrap">
 *<div class="bi">
 *	<div class="bt"><div></div></div><!-- bt -->
 * *<div class="tableContainer">
 * * * * * * * * * *EN HELT ANNAN BOX!<br />
 * * * * * * * * * *TEST!<br />
 * * * * * * * * * *TEST!<br />
 * * * * * * * * * *TEST!<br />
 * * * * * * * * * *TEST!<br />
 * * * * * * * * * <img src="image/portfolio/tff.jpg"><br>
JAHA<br />
 * * * * * * * *</div>
 * * * * * * <div class="bb"><div></div></div><!-- bb -->
 *</div><!-- bi -->
	</div><!-- wrap -->
</div><!-- remoteBox -->
Verkar dock krävas någon fix i IE 6. Ush!
Kanske är enklare att beskära bilden själv trotts allt? :P
grinditwp är inte uppkopplad   Svara med citatSvara med citat
Svara


Aktiva användare som för närvarande tittar på det här ämnet: 1 (0 medlemmar och 1 gäster)
 

Regler för att posta
Du får inte posta nya ämnen
Du får inte posta svar
Du får inte posta bifogade filer
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG]-kod är
HTML-kod är av

Forumhopp


Alla tider är GMT +2. Klockan är nu 08:40.

Programvara från: vBulletin® Version 3.8.2
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Svensk översättning av: Anders Pettersson
 
Copyright © 2017