Oto mój blok CSS:
.actual-form table {
padding: 5px 0 15px 15px;
margin: 0 0 30px 0;
display: block;
width: 100%;
background: #f9f9f9;
border-top: 1px solid #d0d0d0;
border-bottom: 1px solid #d0d0d0;
}
Chcę tylko, aby IE 7, 8 i 9 „widział” width: 100%
Jaki jest najprostszy sposób na osiągnięcie tego?
css
internet-explorer
FastTrack
źródło
źródło
width: auto
elementów blokowych w taki sam sposób, jak inne przeglądarki, takie jak Firefox lub Chrome. W Chrome / Firefoxwidth:auto
zwiększy szerokość elementu bloku o pełną szerokość jego kontenera. IE tego nie robi i wymagawidth: 100%
Odpowiedzi:
Aktualizacja 2017
W zależności od środowiska komentarze warunkowe zostały oficjalnie nieaktualne i usunięte w IE10 +.
Oryginalny
Najprostszym sposobem jest prawdopodobnie użycie komentarza warunkowego Internet Explorera w kodzie HTML:
Istnieje wiele hacków (np. Hack podkreślający ), które pozwolą ci celować tylko w IE w twoim arkuszu stylów, ale robi się bardzo bałagan, jeśli chcesz celować we wszystkie wersje IE na wszystkich platformach.
źródło
Objaśnienie: Jest to zapytanie dotyczące mediów specyficzne dla Microsoft. Używając właściwości -ms-high-contrast specyficznej dla Microsoft IE, zostanie ona przeanalizowana tylko w przeglądarce Internet Explorer 10 lub nowszej. Użyłem obu prawidłowych wartości zapytania medialnego, więc zostanie ono przeanalizowane tylko przez IE, niezależnie od tego, czy użytkownik ma włączony wysoki kontrast, czy nie.
źródło
Oprócz komentarzy warunkowych IE jest to zaktualizowana lista sposobów kierowania IE6 na IE10.
Zobacz konkretne hacki CSS i JS poza IE .
źródło
\9
i\0/
zadisplay
pomocą selektora klasy, ale oba będą miały zastosowanie do IE10 również. Czy istnieje jakikolwiek sposób ubiegania się tylko o IE9 [i poniżej, czy nie]?\0/IE9
ale go nie przetestowałem. W przeciwnym razie nie znam innego sposobu na celowanie w IE9, chyba że użyjesz klauzul warunkowych:<!--[if IE 9]><link rel="stylesheet" type="text/css" href="ie9-specific.css" /><![endif]-->
@media screen and (min-width:0\0) {
Hack wydaje się być analizowany przez IE11, jak również - więc nie jest to tylko 9 i 10 - Dokładnie sprawdź i zaktualizuj swoje komentarze.Dostępne są kilofy hakerskie dla IE
Używanie komentarzy warunkowych z arkuszem stylów
Używanie komentarzy warunkowych z nagłówkiem css
Używanie komentarzy warunkowych z elementami HTML
Korzystanie z zapytania o media
źródło
min-width:0\0
) dotyczy również IE11Oprócz komentarza warunkowego można również użyć CSS Browser Selector http://rafael.adm.br/css_browser_selector/, ponieważ pozwoli to na kierowanie na określone przeglądarki. Następnie możesz ustawić swój CSS jako
Umożliwi to również kierowanie na określone przeglądarki w głównym arkuszu stylów bez potrzeby wprowadzania komentarzy warunkowych.
źródło
.ie9
nie działa, ponieważ nie był aktualizowany od 2010 r.Myślę, że dla najlepszej praktyki powinieneś napisać w
<head>
tagu instrukcję warunkową IE, która zawiera link do twojego specjalnego arkusza stylów. To MUSI BYĆ po niestandardowego linku css więc zastępuje to drugie, mam małe miejsce, więc korzystać z tego samego tzn css dla wszystkich stron.to różni się od odpowiedzi Jamesa, jak myślę (osobista opinia, ponieważ pracuję z zespołem projektantów i nie chcę, aby dotykały moich plików HTML i coś tam popsuły), nigdy nie należy dołączać stylów do pliku HTML.
źródło
Trochę za późno na tym, ale to działało idealnie dla mnie, gdy próbowałem ukryć tło dla IE6 i 7
Mam ten hack za pośrednictwem: http://briancray.com/posts/target-ie6-and-ie7-with-only-1-extra-character-in-your-css/
źródło
Welcome BrowserDetect - niesamowita funkcja.
Object
BrowserDetect dostarcza takżeversion
informacji, dzięki czemu możemy dodać konkretne zajęcia - ex.$('*').addClass('ie9');
jeśli(BrowserDetect.version == 9)
.Powodzenia....
źródło
To naprawdę zależy od wersji IE ... Znalazłem ten doskonały zasób, który jest aktualny od IE6-10 :
źródło
Dla / * Internet Explorer 9+ (jeden wiersz) * /
Tylko to rozwiązanie idealnie dla mnie działa.
źródło
źródło
źródło