2010. szeptember 3. - 19:42:06 *
Üdvözlünk, Vendég. Kérlek jelentkezz be vagy regisztrálj.
Nem érkezett meg az aktivációs e-mail?

Jelentkezz be a felhasználóneveddel, jelszavaddal és add meg a munkamenet hosszát
Hírek: Nyerj egy eredeti PowerBall giroszkópos kézerősítőt! Semmi egyebet nem kell tenned, csak fórumozz itt velünk!
Nyereményjáték részletei...
 
   Főoldal   Súgó Bejelentkezés Regisztráció  
Oldalak: [1]
  Nyomtatás  
Szerző Téma: Checkbox kinézet CSS-ből?  (Megtekintve 1481 alkalommal)
hugo87
Újonc
*

Karma: 1
Hozzászólások: 11


« Dátum: 2010. március 10. - 11:59:18 »

Lehet checkbox kinézetet CSS-ből úgy megcsinálni, hogy az nagyjából minden böngészőben ugyanúgy nézzen ki? Van egy nagyjából szépen összerakott formom, de a checkboxok meg baromira nem illeszkednek bele. A border, background-color, color, padding, margin és egyebeket minden böngésző másképp értelmezi. Nem találok erről jó leírást, csak sírásokat. Ennyire vacak a CSS?
Naplózva
zeuge
Újonc
*

Karma: 2
Hozzászólások: 25



« Válasz #1 Dátum: 2010. március 10. - 16:49:10 »

A böngészők nem akarják a checkboxot formálni. Igen ez nekem sem tetszik. Background-color ... sehol. Sőt engem az is idegel, hogy a mozilla le se tojja a scrollbar -omat...  Határozatlan
Naplózva
Charley
Újonc
*

Karma: 3
Hozzászólások: 31


« Válasz #2 Dátum: 2010. március 10. - 20:56:41 »

A checkbox kinézetét nem lehet normálisan és böngészőfüggetlenül állítani CSS-ből jelenleg. Megoldást erre csak javascriptből lehet "eszkábálni".

Idemásolok egy példát, amin lehet még csiszolni, de alapvetően müködik. A window.onload-ra meghívott függvényből végigmegy az input elemeken, a checkbox típusúakat eltünteti, tesz egy-egy img-t a helyükre, állít nekik egy classt (bbox) a képnek, az onclick eventre meg tesz egy handlert, ami változtatja a kép forrását és a checkbox állapotát a kép-klikkre. Én a két gif képben rajzoltam a "dizájnt" hozzá (imgTrue/imgFalse). Sokat lehetne még csiszolni rajta, de kezdetnek jó.

Kód:
<script type="text/javascript"><!-- //
var inputs;
var imgFalse = '/images/checkbox_false.gif';
var imgTrue = '/images/checkbox_true.gif';

function init() {
  replacecheckboxes();
}

function replacecheckboxes() {
  inputs = document.getElementsByTagName('input');
  for(var i=0; i < inputs.length; i++) {
    if(inputs[i].getAttribute('type') == 'checkbox') {
      var img = document.createElement('img');
      if(inputs[i].checked) {
        img.src = imgTrue;
      } else {
        img.src = imgFalse;
      }
      img.className = 'bbox';
      img.id = 'checkimage'+i;
      img.onclick = new Function('checkchange('+i+')');
      inputs[i].parentNode.insertBefore(img, inputs[i]);
      inputs[i].style.display='none';
    }
  }
}

function checkchange(i) {
  if(inputs[i].checked) {
    inputs[i].checked = false;
    document.getElementById('checkimage'+i).src=imgFalse;
  } else {
    inputs[i].checked = true;
    document.getElementById('checkimage'+i).src=imgTrue;
  }
}

window.onload = init;
// --></script>
Naplózva
hugo87
Újonc
*

Karma: 1
Hozzászólások: 11


« Válasz #3 Dátum: 2010. március 11. - 09:35:19 »

Ez a checkbox így nagyon jó lett. Mosolyog Sokat kínlódtam vele, és már lassan azon gondolkodtam, hogy átteszem egy szürke dobozba a formot, hogy kinézzen valahogy. Most csináltam két screenshotot egy szép checkboxról, betettem gifeknek és kész.

Nagyon köszi!  Vigyorog
Naplózva
Oldalak: [1]
  Nyomtatás  
 
Ugrás:  

A MySQL adatbázis használatával A PHP programnyelven íródott Powered by SMF 1.1.11 | SMF © 2006-2009, Simple Machines LLC Szabványos XHTML 1.0! Szabványos CSS!
Adatvédelmi nyilatkozat