ugrás a tartalomhoz

IE hack - Opera hack

MiniDisc · 2006. Jan. 17. (K), 20.52
Sziasztok!

A következő kérdésem lenne:

Létezik e Opera hack olyan formában, mint az IE-hez, hogy külön css fájlban tudom megadni a csak rá vonatkozó értékeket?

Sajnos az Explorerhez elég sokat kell használnom (általában eltérő érték-értelmezések miatt, főleg szélesség, magasság, és margin-padding értékeket kell hackelnem), és az operában van egy elég nagy bug, amit kezelni szeretnék ily módon.

Explorerhez ezt használom: <!--[if IE 6]><link rel="stylesheet" type="text/css" href="ie6.css" /><![endif]-->

Ezt a <head></head> közé teszem, és az ie6.css nevü fájlban szereplő értéket csak az IE veszi figyelembe, és a fő css fájlban szereplő értékeket nem, lecseréli az ie6-ban lévőkre.

Ilyesmi megoldás Opera 8.x-hez is van?
 
1

IE 6

attlad · 2006. Jan. 18. (Sze), 00.57
Ha az ie6.css a böngésző verziójára utal, akkor az tudtommal egészen úgy kezeli a felsorolt dolgokat (width, margin, padding) mint a böngészők, és nincs szükség ilyenre, vagy mire gondolsz?

Mi az az Opera bug?

Csak mert Operához nincs nagyon olyan megoldás, mint IE-ben, mivel elvileg a trükközés helyett megpróbálja a standardokat követni.
2

jo lenne

Anonymous · 2006. Jan. 18. (Sze), 08.47
Ha az ie6.css a böngésző verziójára utal, akkor az tudtommal egészen úgy kezeli a felsorolt dolgokat (width, margin, padding) mint a böngészők, és nincs szükség ilyenre
de jo is lenne :)
Bár mindenképp jobb megoldás, ha külön css fájl helyett inkább ugy alakítjuk ki az oldal stíluslapját hogy működjön mind két böngésző alatt. pl.: div-nek nem adok szélességet width-el, hanem inkabb margin-left, margin-right-al allitom be amikor csak lehet.
3

Box model

attlad · 2006. Jan. 18. (Sze), 09.17
A box modelt pl. jól kezeli IE 6.
4

Csak megfelelő doctype-pal

Jano · 2006. Jan. 18. (Sze), 11.15
Doctype függő, hogy az IE6 a régi saját hibás kezelését használja-e, vagy a szabványosat! Ha nincs Doctype akkor alapból a régi hibásat.

IE Doctype dokumentáció

Opera doctype dokumntáció
5

DOCTYPE

attlad · 2006. Jan. 18. (Sze), 13.00
DOCTYPE megadása kötelező. Csak HTML 4 Transitional, URL nélküli DOCTYPE az egyetlen egy, amikor nem standard betartó értelmezést használ az IE 6 a linkelt táblázat alapján. Minden más esetben ok. (A HTML 2, 3 verziókat nem nézve.)
9

ez jo

Anonymous · 2006. Jan. 18. (Sze), 19.10
de akkor miert "sir" mindenki hogy IE nem jol kezeli a box modelt? kiprobaltam doctype-al, és tényleg jól kezeli.
10

<Nincs cím>

MiniDisc · 2006. Jan. 18. (Sze), 19.30
Bizonyos esetekben tényleg van baja a boxszal az IE-nek.

Viszont a dives-marginnal az Operának szinte majd' minden esetben van, ha az egy másik divben van ...
6

<Nincs cím>

MiniDisc · 2006. Jan. 18. (Sze), 16.01
Az Opera bug a divnek adott margin, és padding értékek teljeskörü figyelmen kívül hagyása.

A hasonló értékeknél az IE-ben a Firefoxhoz képest is eltérések vannak, de ezt ugye kezekni tudom az IE css-ével. De az Opera alatt minden elmászik. Magyarul nem tudok minden webprogramozási technikát kihasználni, mert ahány böngésző, annyiféle értelmezés. De a divekről nem momdanék le, ha nem megy, akkor maximum az Operát elfelejtem. Egyébkként xhtml 1.0 a doctype.
7

Tesztoldal

attlad · 2006. Jan. 18. (Sze), 16.31
Ha tudsz mutass egy tesztoldalt vagy másolj be példakódot, (amit copy-paste ki lehet próbálni) és hibásan jelenik meg Operában. Nálam Opera kezeli a margint és a paddingot.
8

<Nincs cím>

MiniDisc · 2006. Jan. 18. (Sze), 16.43
Példa oldal:

http://www.minidiscweb.hu

Itt alul bal oldalt a boriték ikon.

http://www.aopenbolt.com

Itt legalul az xhtml -css stb. sor. Mindenhol a marginokkal van a baj.
Ha display: block; értéket adok neki, akkor ugyan jó lesz, de ez nem mindenhol előnyös, és én sem akarom alkalmazni, ha nem muszáj.
11

Opera bajom

Anonymous · 2006. Jún. 18. (V), 16.40
valamiért nem stimmel a dolog opera alatt (fent csíkot hagy valami miatt), tudtok erre valamit?
a kód:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-2" />
<title>Untitled Document</title>

<style type="text/css">
body {font-family: Arial, Helvetica, sans-serif; margin:0;padding:0; text-align:center; font-size:12px;	background:#E6ECEF}
#header {width: 100%; float: left;text-align:left; background:#2E4A60 url(header_top.gif) repeat-x;height: 76px;line-height:76px;}
#header div {float:right; right:5px; color:#FFFFFF; }
#navi {clear:both;width: 100%;background:#E1E6E7 url(header_bottom.gif) repeat-x;height:31px; line-height:31px;}
#navi li {float:right; list-style: none; margin:0 3px; padding:0;}
</style>

</head>

<body>
	<div id="header">lógó</div>

	<div id="navi">
		<ul>
			<li>leírás</li>
			<li>duma</li>
		</ul>
	</div>
</body>
</html>
12

Opera hack!

Marcell · 2006. Szep. 4. (H), 12.09
Mivel én is jó sokat szívtam a témával, kicsit utánnanéztem és találtam Opera hacket! Még csak Opera 9.01 (win) próbáltam, ott működött. A kód egyszerű és validnak is számít(!):
<link rel='stylesheet' type='text/opera;charset=utf-8' href='opera.css' />
További infó: http://labuschin.com/journal/css/css_hack-fuer-opera-durch-kombinieren

Tesztelhetnétek páran Opera más változatain is!
13

Kivették ezt a lehetőséget.

Anonymous · 2006. Okt. 27. (P), 22.53
Sajnos kivették azóta ezt a hack-et.
Tud valaki más opera hackről? Szipla css-es, nem szkritpes.
14

vagy mégsem

Marcell · 2007. Aug. 6. (H), 12.45
Nekem Opera 9.21 WinXP-SP2 alatt még mindig tökéletesen működik.
18

Opera teszt

Balogh Tibor · 2007. Aug. 9. (Cs), 09.18
A következő verziókon a megadott hack megfelelően működött windows xp operációs rendszer alatt:
  • Opera 6.0 (1010)
  • Opera 8.0 (7561)
  • Opera 8.52 (7721)
  • Opera 9.22 (8801)

Ami igazán jó hír, hogy az igen régi 6.0 és az újabb 9.22 alatt is működőképes a megadott linkelési mód.

Köszönet mrc-nek az Opera specifikus CSS fájl belinkelés megoldásáért!
19

Böngészők tesztje (Ubuntu Linux)

attlad · 2007. Aug. 9. (Cs), 17.51
Ezeken értelmeződik:
  • Opera 9.22 (655)
  • Konqueror 3.5.6
  • WebKit rev. 23563
20

CSS behúzásának megváltoztatása

Balogh Tibor · 2007. Aug. 15. (Sze), 10.09
A hozzászólásod után a következő fájlt használtam teszteléshez, így windows alatt a Safari nem értelmezte az Operának szánt css fájlt.

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="hu">
<head>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <title>Opera CSS teszt</title>
   <style type="text/opera;charset=utf-8">@import url("test.css");</style>
</head>
<body>
</body></html>
A css fájl:

body {
   background-color: red;
}
A teszteredmények xp alatt. Letesztelnéd esetleg linux alatt is?

Böngésző          | Stíluslap kiértékelése
------------------------------------------
IE 6.0            | Nem
Firefox 2.0.0.6   | Nem
Mozilla 1.7.12    | Nem
Safari 3.0.3      | Nem
Opera 6.0         | Igen
Opera 9.22        | Igen
21

Új teszt, így ok

attlad · 2007. Aug. 17. (P), 17.01
Ubuntu Linux:

Opera 9.23 (660)   Igen
Opera 6.1 (271)    Igen
Firefox 2.0.0.6    Nem
Konqueror 3.5.6    Nem
WebKit rev. 25124  Nem
15

Javascriptes lekérdezés a böngésző tipusára

phpmokus · 2007. Aug. 6. (H), 14.30
van egy olyan Javascript objektum, hogy navigator ennek van egy userAgent változója, ami tartalmazza a böngészőre vonatkozó adatokat.
ebből ki lehet nyerni a szükséges infót, és aztán a megfelelő css linket beszúrni a html lap fejlécébe.
valahogy így:

<script language="Javascript" type="text/javascript"> 
 var ua = navigator.userAgent;
 if (ua.indexOf("Opera") > -1) {
  document.write("<LINK href=\"style_opera.css\" rel=\"STYLESHEET\" type=\"text/css\" />");
 } else if (ua.indexOf("MSIE") > -1) {
  document.write("<LINK href=\"style_iexplorer.css\" rel=\"STYLESHEET\" type=\"text/css\" />");
 } else if (ua.indexOf("Safari") > -1) {
  document.write("<LINK href=\"style_safari.css\" rel=\"STYLESHEET\" type=\"text/css\" />");
 } else if (ua.indexOf("Mozilla") > -1) {
  document.write("<LINK href=\"style_mozilla.css\" rel=\"STYLESHEET\" type=\"text/css\" />");
 } else {
  document.write("<LINK href=\"style.css\" rel=\"STYLESHEET\" type=\"text/css\" />");
 }
</script>
és voila, a megfelelő stíluslapot kapjuk elő

remélem segített...
16

JS nem lehet alapvető elvárás

Marcell · 2007. Aug. 6. (H), 14.38
Ez a megoldás nem olyan jó, mert JS-t használ, mi natív CSS megoldást kerestünk - és meg is találtuk, lásd fentebb.
17

értem

phpmokus · 2007. Aug. 6. (H), 14.51
értem, akkor bocsi