Z jakiegoś powodu, gdy użytkownik ma swój wyświetlacz ustawiony na 125% z panelu sterowania, IE9 doda dodatkową szerokość w linii do takich elementów jak:
<div class="container" id="main" style="width: 1500px">
<!-- Code goes here-->
</div>
Powyższy styl wbudowany (z szerokością) jest dodany przez IE9. IE8 nie ma tego problemu i jest to zdecydowanie spowodowane ustawieniem ustawień wyświetlania systemu Windows na 125%. Chrome i Firefox wyświetlają rzeczy poprawnie bez dodatkowego stylu. Nie przypuszczasz, że ktoś ma obejście lub rozwiązanie tego problemu? Nie mogę kontrolować, jakie ustawienia mają użytkownicy, ale widziałem, jak inne strony renderują się poprawnie.
2 odpowiedzi
Ok, więc rozwiązałem to za pomocą komentarza warunkowego i odrobiny jQuery:
<!--[if IE 9]>
<script type="text/javascript">
window.onload = function () {
if ( $('#main').attr('style') !== 'undefined' ) {
$('#main').removeAttr('style');
}
}
</script>
<![endif]-->
Zasadniczo sprawdza, czy IE umieścił atrybut „style” na naruszającym elemencie, a jeśli tak, usuwa ten atrybut.
Tak lub jeśli chcesz być bardziej selektywny w odniesieniu do szerokości i wysokości
jQuery(document).ready(function () {
removeInlineWidthHeightElements($('#main'));
});
function removeInlineWidthHeightElements(element) {
element.attr('style', function (i, style) {
return style.replace(/width[^;]+;?/g, '').replace(/height[^;]+;?/g, '');
});
}
Czy można usunąć style inline za pomocą jQuery?
Podobne pytania
Powiązane pytania
Nowe pytania
css
CSS (Cascading Style Sheets) to język arkuszy stylów reprezentacji używany do opisywania wyglądu i formatowania dokumentów HTML (HyperText Markup Language), XML (Extensible Markup Language) i elementów SVG, w tym (ale nie tylko) kolorów, układu, czcionek, i animacje. Opisuje także, jak elementy powinny być renderowane na ekranie, na papierze, w mowie lub na innych mediach.