Külön css IE és egyéb böngésző számára
Üdv mindenkinek!
Az jutott eszembe - de lehet, hogy hülyeség -, hogy a fránya IE ha már úgy kilóg a sorból, kapjon külön css-t. Keresgéltem, találtam egy-két dolgot, majd ezt faragtam belőle:
index.htm:ie.css:ff.css:Az tetszik ebben, hogy aránylag hasonló végeredményt ad a két "legnagyobb" böngészőben. Amik viszont NEM tetszenek:
- Ha jól figyeltem, letöltődik mindkét css fájl, de csak egyik engedélyezett, másik feleslegesen töltődik le.
- A közös tulajdonságok mindkettőben szerepelnek -> felesleges byteok.
- IE-ben nem tudok egyszerű megoldást a kerekített boxra, ill. az árnyékra. Ez utóbbi fontosabb lenne, de nem szeretnék terjedelmes, mások által írt js-t töltikézni, stb., ha lehet, én szeretném megoldani, egyszerűen.
Ezekhez kérnék instrukciót, remélem, másoknak is hasznos.
Bocs a hosszú forrásokért!
■ Az jutott eszembe - de lehet, hogy hülyeség -, hogy a fránya IE ha már úgy kilóg a sorból, kapjon külön css-t. Keresgéltem, találtam egy-két dolgot, majd ezt faragtam belőle:
index.htm:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html lang="hu">
<head>
<title>CSS tili-toli</title>
<meta content="text/html; charset=iso 8859-2" http-equiv="content-type" />
<link id="iecss" rel="stylesheet" type="text/css" href="ie.css" disabled />
<link id="ffcss" rel="stylesheet" type="text/css" href="ff.css" disabled />
<script language=javascript type="text/javascript">
<!--
//Böngészőfüggő stílus:
function app_version() {
var ms = navigator.appVersion.indexOf("MSIE");
ie6 = (ms>0) && (parseInt(navigator.appVersion.substring(ms+5, ms+6)) >= 6);
if (ie6) {
document.getElementById("iecss").disabled=false;
} else {
document.getElementById("ffcss").disabled=false;
}
//window.alert('Böngésző: '+navigator.appVersion); //Csak control
}
app_version(); //Rögtön hívjuk, nem body.onload
-->
</script>
</head>
<body>
<div class="probadiv" id="1">
<p class="probacim">Hozzászólás <q>címe</q></p>
<p class="probap">ŐŰ Maga a hozzászólás, stb. Maga a hozzászólás,
stb. Maga a hozzászólás, stb. Maga a hozzászólás, stb. Maga a
hozzászólás, stb. Maga a hozzászólás, stb. Maga a hozzászólás,
stb. Maga a hozzászólás, stb. Maga a hozzászólás, stb. Maga a
hozzászólás, stb. Maga a hozzászólás, stb. Maga a hozzászólás,
stb. Maga a hozzászólás, stb. Maga a hozzászólás, stb. Maga a
hozzászólás, stb. Maga a hozzászólás, stb. Maga a hozzászólás,
stb. Maga a hozzászólás, stb. Maga a hozzászólás, stb. Maga a
hozzászólás, stb. ŐŰ Maga a hozzászólás, stb. Maga a hozzászólás,
stb. Maga a hozzászólás, stb. Maga a hozzászólás, stb. Maga a
hozzászólás, stb. Maga a hozzászólás, stb. Maga a hozzászólás,
stb. Maga a hozzászólás, stb. </p>
</div>
<div class="probadiv" id="2">
<p class="probacim">Hozzászólás <q>címe</q></p>
<p class="probap">ŐŰ Maga a hozzászólás, stb. Maga a hozzászólás,
stb. Maga a hozzászólás, stb. Maga a hozzászólás, stb. Maga a
hozzászólás, stb. Maga a hozzászólás, stb. Maga a hozzászólás,
stb. Maga a hozzászólás, stb. Maga a hozzászólás, stb. Maga a
hozzászólás, stb. ŐŰ Maga a hozzászólás, stb. Maga a hozzászólás,
stb. Maga a hozzászólás, stb. Maga a hozzászólás, stb. Maga a
hozzászólás, stb. Maga a hozzászólás, stb. Maga a hozzászólás,
stb. Maga a hozzászólás, stb. Maga a hozzászólás, stb. Maga a
hozzászólás, stb. Maga a hozzászólás, stb. Maga a hozzászólás,
stb. Maga a hozzászólás, stb. Maga a hozzászólás, stb. Maga a
hozzászólás, stb. Maga a hozzászólás, stb. Maga a hozzászólás,
stb. Maga a hozzászólás, stb. </p>
</div>
</body>
</html>
/* ie.css */
body {
margin: 0;
padding: 0;
background-color: yellow;
}
div.probadiv {
text-align: left;
margin: 10px;
padding: 10px;
width: 450px;
background-color: rgb(240,111,146);
border: 4px solid rgb(167,10,54);
filter: alpha(opacity=75); /* átlátszóság ie */
}
p.probacim, p.probap {
font-family: sans-serif,arial;
background-color: rgb(246,167,188);
}
p.probacim {
font-size: 2em;
color: rgb(10,17,161);
font-style: italic;
margin: 0;
padding: 0.2em;
vertical-align: bottom;
}
p.probacim:first-letter {
font-size: 170%;
color: rgb(27,35,204);
font-variant: small-caps;
font-style: normal;
}
p.probap {
margin: 0;
font-size: 1.1em;
color: rgb(9,14,122);
padding: 0.2em;
}
/* ff+egyéb.css */
body {
margin: 0;
padding: 0;
background-color: yellow;
}
div.probadiv {
text-align: left;
margin: 10px;
padding: 10px;
width: 450px;
background-color: rgb(240,111,146);
border: 4px solid rgb(167,10,54);
-moz-border-radius: 16px; /* kerekítés */
box-shadow: 10px 10px 25px rgb(186,153,200); /* árnyék */
opacity: 0.75; /* átlátszóság ff */
}
p.probacim, p.probap {
font-family: sans-serif,arial;
background-color: rgb(246,167,188);
}
p.probacim {
font-size: 2em;
color: rgb(10,17,161);
font-style: italic;
margin: 0;
padding: 0.2em;
vertical-align: bottom;
}
p.probacim:first-letter {
font-size: 170%;
color: rgb(27,35,204);
font-variant: small-caps;
font-style: normal;
}
p.probap {
margin: 0;
font-size: 1.1em;
color: rgb(9,14,122);
padding: 0.2em;
}
- Ha jól figyeltem, letöltődik mindkét css fájl, de csak egyik engedélyezett, másik feleslegesen töltődik le.
- A közös tulajdonságok mindkettőben szerepelnek -> felesleges byteok.
- IE-ben nem tudok egyszerű megoldást a kerekített boxra, ill. az árnyékra. Ez utóbbi fontosabb lenne, de nem szeretnék terjedelmes, mások által írt js-t töltikézni, stb., ha lehet, én szeretném megoldani, egyszerűen.
Ezekhez kérnék instrukciót, remélem, másoknak is hasznos.
Bocs a hosszú forrásokért!
Az elmélet elfogadható (bár
Használj feltétéles kommentet, az egyszerűbb, JavaScript-független és (egyelőre) megbízható.
Köszönöm, eddig
Azért nem abban az irányban gondolkodtam.
Miért? Te hogy oldod meg? Plusz még a megbízhatóságról... <![if IE8]> is megfelelően műxik?
Hogy lehet (egyszerűen) IE8 alatt árnyékolni, esetleg sarkot kerekíteni?
Köszönöm a linket, tanultam belőle.
Te hogy oldod meg?A
A jelenlegi Explorer verzió, a 9-es, támogatja a border-radius és box-shadow tulajdonságokat.
Köszönöm
Mégegyszer köszönöm.
A böngészők között annyi a
Most nem találtam meg,
Szóval egy kicsit több a különbség...
quirks mód
Köszi! De..
quirks mód
DOCTYPE
-ot. Ha megadsz egyet, akkor a böngésző standard módba lép, és minden szép és jó.Köszönöm!!!
Szerver oldal
semmi sem gátol abban, hogy szerver oldalon megvizsgáld, hogy milyen böngésző intézte a kérést és ha ie, akkor odadobj még egy css-t, vagy akár teljesen más tartalmat dobj vissza. szerintem.
Nem megbízható
Ebben igazad van, de...
Általában nem értem, miért jó, ha valaki a headerben más típust küld, mint amilyen valójában van. Régebben sok oldal volt ami közölte, hogy ő csak IE/Netscape alatt működik és nem mutatott semmit, akkor még érthető volt. Manapság nem nagyon látni ilyet, akkor meg mi értelme?
Ha már ennyire belejöttünk,
Kapcsolat.php:
CSS:
Ha van ötlet, hogy mit rontottam el, megköszönném.
Nem jöttem rá, hol olvastam - pedig tuti, hogy olvastam - ezt az IE-különbözőséget, de jó lenne tudnom, mert sok mindenre fény derülhetne.
Üdv mindenkinek!
u.i. Miért tördeli ilyen csúnyára Drupal a forráskódokat?
Különbségek
ul
/ol
/li
elemeknél például, hogy máshova kerül a jelölő (list-style-position). Míg egyiknél belülre (inside
), másiknál kívülre (outside
). Hasonló a helyzet amargin
/padding
értékekkel, amik szintén különböznek. Ugyanez igaz például a p elemre is. Valamint mások a sormagasságok (line-height
). Ha azonos alapokkal akarsz indulni, ahhoz jó egy ilyen reset / normalize CSS, mint amilyen pl. az HTML5 Boilerplate oldalon van.Mit értesz azon, hogy csúnyán? Egyébként ennek semmi köze a Drupalhoz, maximum a CSS-hez és a JavaScript kódhoz, amit a Weblabor használ.
Na, ezekre a
Csúnya tördelésen azt értem, hogy pl. } után nem kezd új sort, pedig beillesztve úgy van. Gondolom, helytakarékosság okán, de én így elég nehezen olvasom mások kódjait.
Köszi a válaszokat.
2
Nem pont kettő
Nem pont kettő, legalábbis azt gondolom, hogy többnyire elég lenne IE és egyéb verzió egy oldal formázásakor. Azt, hogy milyen körökben melyik böngésző a legnépszerűbb, nem igazán tudom. Az én "ismeretségi körömben" inkább kettő, ebből is kb. 80% az IE6...9.
Nincs véletlen valahol egy jó statisztika erről? (Mármint ami a magyar netezők statisztikáit mutatja - és könnyen érthetően.)
StatCounter
Nem én készítek,
1, ugye nem gondoltad
2, hacsak nincs különösebb okod rá, célszerűbb a stílusdefiníciókat .akarmi formában megadni, mivel ha benne van a tag neve is (div.akarmi), akkor lassabban tudja feldolgozni a böngésző, mert eggyel több feltételt kell kiértékelnie
Re 1-2
2, Azért szoktam tag-hez kötni, hogy ne lehessen máshoz használni véletlenül sem. (Ha pl. textarea-ban engedek júzernek pici html kódolást, ne tudjon olyan osztályt p-hez rendelni, ami img-ez van.) De megfontolom.
Egyelőre nincs weblabor
Ha ez az idő rövidebb, mint amennyit te rászánnál arra, hogy másnak segíts, akkor nyilvánvalóan rövidíteni kéne.
Ha te ennél az időnél többet is szívesen rászánnál, hogy másnak segíts ingyen megoldani a problémáját, akkor légy szíves, vedd fel velem a kapcsolatot, mert napi szinten sok-sok ilyen feladattal el tudnálak látni : )
no comment