Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów
Komentarze warunkowe pod IE - Wersja do druku

+- Forum Webmastera, HTML, CSS, PHP, MySQL, Hosting, Domeny - Forum dla Webmasterów (https://www.webmastertalk.pl)
+-- Dział: Technologie internetowe - tworzenie stron WWW (https://www.webmastertalk.pl/forum-technologie-internetowe-tworzenie-stron-www)
+--- Dział: xHTML, CSS, JavaScript (https://www.webmastertalk.pl/forum-xhtml-css-javascript)
+--- Wątek: Komentarze warunkowe pod IE (/thread-komentarze-warunkowe-pod-ie)

Strony: 1 2


Komentarze warunkowe pod IE - neoh - 30-05-2011

Cześć,

Napisałam sobie stronke z domyślnymi stylami css która się wyświetla dobrze we wszystkich nowoczesnych przeglądarkach.
Napisałem również zupełnie osobny css pod IE6. (nie pytajcie mnie czemu ale pomimo że zostało jeszcze tego dziadostwa pare procent to jeszcze dam mały support)

Użyłem komentarzy warunkowych aby załadować osobny CSS dla nowoczesnych przeglądarek i osobny CSS kiedy jest doczynienia z IE6.

Kod:
<![if !IE 6]>
<link rel="Stylesheet" type="text/css" href="style.css" />
<![endif]>

<!--[if lt IE 7]>
<link type="text/css" rel="stylesheet" href="ie6.css" />
<![endif]-->

Czy użycie tego pierwszego komentarza warunkowego (który byłby niewidoczny tylko dla IE 6) jest zgodne ze standardami/semantyczne?


RE: Komentarze warunkowe pod IE - Pedro84 - 31-05-2011

(30-05-2011, 23:14)neoh napisał(a): Cześć,

Napisałam sobie stronke z domyślnymi stylami css która się wyświetla dobrze we wszystkich nowoczesnych przeglądarkach.
Napisałem również zupełnie osobny css pod IE6. (nie pytajcie mnie czemu ale pomimo że zostało jeszcze tego dziadostwa pare procent to jeszcze dam mały support)

Użyłem komentarzy warunkowych aby załadować osobny CSS dla nowoczesnych przeglądarek i osobny CSS kiedy jest doczynienia z IE6.

Kod:
<![if !IE 6]>
<link rel="Stylesheet" type="text/css" href="style.css" />
<![endif]>

<!--[if lt IE 7]>
<link type="text/css" rel="stylesheet" href="ie6.css" />
<![endif]-->

Czy użycie tego pierwszego komentarza warunkowego (który byłby niewidoczny tylko dla IE 6) jest zgodne ze standardami/semantyczne?
Nie, ale zacznijmy od tego, że jest bezsensowne. Skoro masz styl dla IE, to poprawiaj w nim TYLKO te elementy, które są błędne, wymagają poprawek. Najpierw IE ma czytać styl globalny, potem ten, który jest przeznaczony TYLKO dla IE.


RE: Komentarze warunkowe pod IE - neoh - 31-05-2011

W tym przypadku chodzi mi głównie o menu które jest kompletnie rozjechane w IE 6.
Próbowałem to robić metodą "poprawiania" globalnego stylu ale mi się to nie udało więc wziąłem się za napisania wszystkich stylów dla menu od nowa i mi wyszło...

Czyli musze zawsze próbować poprawiać globalny styl?


RE: Komentarze warunkowe pod IE - Pedro84 - 31-05-2011

(31-05-2011, 00:22)neoh napisał(a): W tym przypadku chodzi mi głównie o menu które jest kompletnie rozjechane w IE 6.
Próbowałem to robić metodą "poprawiania" globalnego stylu ale mi się to nie udało więc wziąłem się za napisania wszystkich stylów dla menu od nowa i mi wyszło...

Czyli musze zawsze próbować poprawiać globalny styl?
Poprawiać styl globalny? W 80% dobrze napisany kod nie musi być poprawiany, ale nie raz coś trzeba. Wówczas najlepiej jest po prostu poprawić styl dla danego elementu, np. .header .navigation {}.

Po co mieszać w globalnym stylu skoro możesz zrobić osobny styl z kilkoma liniami kodu?

PS. A po co w ogóle Ci to wsparcie dla IE6?


RE: Komentarze warunkowe pod IE - neoh - 31-05-2011

Chodziło mi o edytowanie stylu globalnego w ten właśnie sposób co powiedziałeś Tongue

Połowa kompów w mojej szkole ma IE6 a na mojej stronce się tylko menu rozjeżdza więc pomyślałem że dobrze by było to jakoś poprawić ;P

Dam wam kod HTML:

Kod:
<div id="menu">
    <ul id="menu_list">
        <li><a href="#" class="menu_active">Dom</a></li>
        <li><a href="#">Uczniowie</a></li>
        <li><a href="#">Nauczyciele</a></li>
        <li><a href="#">Plany lekcji</a></li>
        <li><a href="#">Galeria</a></li>
        <li><a href="#">Kontakt</a></li>
      </ul>
</div>

i kod CSS globalnego stylu:

Kod:
#menu {
    background-color: #fff;
    background-image: url(graphics/menu_background.png);
    height: 45px;
    width: 100%;
}


#menu ul, #menu ul li{
    display: block;
    list-style: none;
    margin: 0;
    padding: 0;


}

#menu ul li {
    float: left;
    display: inline;
}

#menu ul a:link, #menu ul a:visited {
    text-decoration: none;
  color: #1A1A1A;
    display: block;
    
    padding-left: 45px;
    padding-right: 45px;
    height: 38px;
    text-align: center;
    padding-top: 7px;
}

#menu ul a:hover {
    background-image: url(graphics/menu_background_hover.png);
    /*color: #fff;*/
}

.menu_active {
    background-image: url(graphics/menu_background_hover.png);
    /*color: #fff;*/
}



RE: Komentarze warunkowe pod IE - Pedro84 - 31-05-2011

No i w stylu dla IE6 musisz poprawić tylko i wyłącznie ten kod dla menu - słabiutki swoją drogą + ewentualnie to co Ci jeszcze sprawia problemy.

PS Sposób.


RE: Komentarze warunkowe pod IE - neoh - 31-05-2011

Czemu słabiutki?

Właśnie się z tym teraz męcze...
Napisze później jak wyszło.


RE: Komentarze warunkowe pod IE - neoh - 31-05-2011

OK napisałem cały kod po swojemu od nowa Tongue


HTML:
Kod:
<div id="menu">
    <ul id="menu_list">
        <li class="menu_active"><a href="#">Dom</a></li>
        <li><a href="#">Uczniowie</a></li>
        <li><a href="#">Nauczyciele</a></li>
        <li><a href="#">Plany lekcji</a></li>
        <li><a href="#">Galeria</a></li>
        <li><a href="#">Kontakt</a></li>
      </ul>
</div>


Globalny CSS:
Kod:
ul#menu_list{
margin: 0;
padding: 0;
height: 45px;
overflow: hidden;
}

ul#menu_list li{
list-style-type: none;
width: 165px;
/*albo zamiast width mozna uzyc
padding-left: apx;
padding-right: apx;
*/
height: 45px;
float: left;
text-align: center;
display: inline;
padding-top: 5px;

}

ul#menu_list li a{
color: #1A1A1A;
text-decoration: none;
}


ul#menu_list li:hover{
background: url(graphics/menu_background_hover.png);
}

.menu_active{
background: url(graphics/menu_background_hover.png);
}


CSS pod Internet Explorer 6:
Kod:
ul#menu_list li{
margin: 0;
padding: 0;
}

ul#menu_list li a{
display: block;
padding: 5px;
height: 45px;
}

ul#menu_list li a:hover{
background: url(graphics/menu_background_hover_ie6.png);
}


.menu_active{
background: url(graphics/menu_background_hover_ie6.png);
}


Wszystko działa Wink
Co myślicie o kodzie?


RE: Komentarze warunkowe pod IE - Pedro84 - 31-05-2011

Wywaliłbym diva, niepotrzebny.

Nie lepiej dać display:inline-block i usunąć float?


RE: Komentarze warunkowe pod IE - neoh - 31-05-2011

<div id="menu"> ???

Jak tak zrobie to mi się zrobią przerwy pomiędzy każdym <li> które widzać jak się najedzie na rózne elementy po menu.
margin:0 i padding:0 nie pomagają wtedy.