[CSS] Stylko _tylko_ dla IE

0

jak zapisać takie coś by klasa klasa_a1_ie była tylko dla IE a inne przeglądarki ją ignorowały...

body { 
  font-size: 12px;
  background-color: #000000; 
  margin: 0px; 
  padding: 0px; 
}
table, tbody, tr, td { 
  font-size: 12px; 
  min-width: 700px; 
}
.klasa_a1 {
  background-color: #FFFFFF;
  margin: 10px;
  padding: 10px;
}
.klasa_a1_ie {
  background-color: #FFFFFF;
  margin: 10px;
  padding: 10px;
  width: 100%;
}
.category {
  background-color: #336699;
}

bo jeśli w klasie klasa_a1 dam width: 100%; to wtedy strona mi się pod FF i Operą rozjeżdża jakby była o 20px za duża a na IE jest wszystko w porządku. Jeśli usunę wdth: 100%; to pod FF i Operą strona wygląda normalnie lecz pod IE się rozjeżdża...

kod strony:

<?xml version="1.0" encoding="iso-8859-2" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">    
<head>
	<meta http-equiv="Conten-type" content="application/xhtml+xml; charset=iso-8859-2" />
	<meta name="Pragma" content="no-cache" />
	<link rel="stylesheet" media="all" type="text/css" href="style.css" />
	<title>Wygląd wpisu</title>
	<script type="text/javascript">
	<!-- /* <![CDATA[ */
		if( self != top )
		{
			top.location.href = self.location.href;
		}
	// /* ]]> */ -->
	</script>
</head>
<body>
	<div class="klasa_a1">
		<table width="100%" cellspacing="0px" cellpadding="0px" border="0px" class="tabela">
			<tr>
				<td class="category">
					Księga gości - wpisy
				</td>		
			</tr>
		</table>
	</div>
</body>
</html>
0

bo z paddingiem jest inaczej - masz padding 10px więc po dwóch stronach faktycznie na FF i Operze jest o 20px za duża a IE szerokość liczy już z paddingiem co jest chyba w/g starych standardów czy w ogóle poza, więc możesz usunąć z klasy padding całkiem a width dodać a w tej tabeli co masz w tym divie dać padding albo ew. skryptem wykrywać js czy przeglądarka jest IE i najzwyczajniej dać document.write('<style>(...)');

0

Może pomoże: http://www.webinside.pl/webstandards/artykuly/222

Ja zazwyczaj robię tak, najpierw <link> do normalnego css'a, a potem

    <!--[if IE]>
    <link rel="stylesheet" type="text/css" href="styl_poprawki_dla_ie.css" media="screen" title="name hehe" />
    <![endif]-->

Zamieszczam w tym poprawkowym tylko te klasy, które chce poprawić i ie je nadpisuje z orginalnego css'a, a te których w nim nie ma bierze z pierwszego. Look: [link nieaktualny]

0

document.write('<style>(...)');

apeluje :)

document.write() jak i wlasciwosc innerHTML nie dziala w XHTML

koniec apelu :)

0
piechnat napisał(a)

document.write('<style>(...)');

apeluje :)

document.write() jak i wlasciwosc innerHTML nie dziala w XHTML

koniec apelu :)

W XHTML Transitional też??

0

Tak, ale jak ktoś ma zmienioną identyfikację np. w Operze? Doda mu css dla ie i też będzie zonk... Jakoś bardziej jestem przekonany do mojej metody, w końcu po coś programiści Microsoftu zrobili te komentarze :)

0
angel2953 napisał(a)

W XHTML Transitional też??

To nie ma znaczenia. XHTML jest aplikacją XMLa a w nim nie można tworzyć elementów po przez wpisywanie znaczników jako tekstu w funkcji czy gdzie indziej, ponieważ daje to możliwość popełnienia błędu. W HTMLu błędy są jakoś omijane a dokument XML nie może sobie na to pozwolić (trzeba używać funkcji Document Object Model). Oczywiście, jeśli nasza strona działa w trybie zgodności wstecznej z HTML (przewidziane tylko dla XHTML 1.0), to w tedy jest to zwykły HTML i nie ma problemu. Tak działa większość stron w internecie, ponieważ autorzy nie widzą, że muszą jeszcze wysłać poprawny nagłówek HTTP (Content-Type: application/xhtml+xml), który decyduje o tym że strona interpretowana jest przez parser XML. Oczywiście w tym przypadku Internet Explorer nie byłby w stanie wyświetlić danej strony, dlatego to jest OK. Problem zaczyna się w tedy, kiedy ktoś pisze w XHTML 1.1 bez tego nagłówka. To już jest dowodem wszechobecnej ignorancji i niewiedzy dla standardów internetowych.

0
piechnat napisał(a)

(..) Problem zaczyna się w tedy, kiedy ktoś pisze w XHTML 1.1 bez tego nagłówka. To już jest dowodem wszechobecnej ignorancji i niewiedzy dla standardów internetowych.

z tego powodu Piechnat osobiście mnie zbluzgał i za to dziękuje D

i chociaż dokładnie nie przyjrzałem sie problemowi, to po pierwszych dwóch postach (angel i admao) wnoszę że box model tweaking mógłby pomóc.

0

z tymi komentarzami warunkowymi działa... a ja mam takie nietypowe pytanko: czy da się to zrobić wewnątz pliku *.css???

1 użytkowników online, w tym zalogowanych: 0, gości: 1