IE에서 작동하지 않는 요소에 초기 너비 사용


107

<table>컨테이너에 캔버스와 범례 를 삽입하는 그래프 플러그인이 있습니다. 이 플러그인 table에는 width정의 되어 있지 않으며 내 CSS에는 플러그인이 삽입되는 컨테이너 내부의 테이블 너비가 있습니다.

따라서 새 div는 table{ width: 100%}CSS에서 상속 되고 잘못 렌더링됩니다.

을 사용하려고했지만 width: initial;Chrome에서 좋아 보이지만 IE는 브라우저 호환성을 확인하는 것을 좋아하지 않습니다.

어떤 환경에서도 작동해야하기 때문에 스크립트 / 플러그인에서 인라인 CSS를 변경 / 강제하는 것을 인정합니다.

여기서 가장 좋은 해결책은 무엇입니까?


최소 너비를 설정해 보셨습니까? 작동합니까?
BuddhistBeast

@BuddhistBeast, 그것에 대해 생각하지 않았습니다! 그러나 지금 시도했지만 Chrome에서도 작동하지 않았습니다.
Rikard

답변:


177

말했듯이 일반적으로 width: auto비슷한 효과가 있습니다. 규칙을 가지고 :

.my-selector {
    width: auto;
    width: initial;
}

initial지원되는 경우 사용하도록 해야합니다 auto.


3
이것은 내 문제를 해결했습니다. 감사.
dchayka

2
한 시간을 절약했습니다. 감사.
Skitterm 2015 년

2
참고로, initial 이다 유효한 속성 값 ( developer.mozilla.org/en-US/docs/Web/CSS/initial ). 그러나 (이전 링크에서 "브라우저 호환성"으로 스크롤하면) IE 버전이 지원하지 않습니다.
gtramontina

4
이것은 폴백 으로 알려져 있으며 CSS에서 매우 일반적인 코딩 패턴입니다. 또한, 사용 width: auto만하지 않습니다 유사한 효과를,하지만해야합니다 똑같은 때문에, 효과 auto되고 초기 값으로 정의 에 대한 width속성입니다.
chharvey

6

width: auto;인라인을 사용 하면 스크립트 내부에서 Chrome, FIrefox 및 IE 11의 문제를 해결합니다. 더 나은 방법이 있는지 확실하지 않습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.