IE 대책 : 복수 클래스를 사용할 때
원인을 찾고 있었습니다만, 복수 클래스를 셀렉터에 지정하고 있었기 때문이었습니다.
IE6에서는 여러 클래스의 구현이 지원되지 않는다고 조사했는데 완전히 잊었습니다.
잊지 않기 위해서도 기록에 남겨 둡니다.
전제: 다중 클래스
HTML
<div class="a_box">A box</div>
<div class="b_box">B box</div>
<div class="a_box b_box">c box</div>
CSS
.a_box{ background-color: green;}
.b_box{ background-color: red;}
.a_box.b_box{ background-color: yellow;}
css 측에서 클래스 이름을 연결하면,
이 두 클래스 (예에서 말하면 a_box와 b_box)가 지정된 스타일 만 내부 스타일을 적용 할 수 있습니다.
■chrome
IE6
IE6에서는 그대로 클래스명을 늘어놓으면,
가장 마지막 클래스 이름 단체에서만 볼 수 있습니다.
.a_box.b_box.c_box{~}
だと、.c_boxしか読み取っていません。
HTML
<div class="a_box"> box1</div>
<div class="b_box"> box2</div>
<div class="a_box b_box c_box"> box3</div>
샘플 css1
.a_box{ background-color: green;}
.b_box{ background-color: yellow;}
.a_box.c_box{ background-color: blue;}
■IE6
box3은 c_box 스타일만 작동합니다.
.a_box.c_box{ background-color: blue;}
↑ 이렇게.
그러나 이것이 아직 증명되지 않기 때문에 또 다른 패턴
샘플 CSS2
.a_box{ background-color: green;}
.b_box{ background-color: yellow;}
.a_box.b_box{ background-color: orange;}
본래라면
box2는 노란색이지만,
■chrome
IE6이라면,
a_box 클래스와 b_box 클래스가 지정되었을 때만 지정되면 배경색이 되어야 하는 오렌지색이 되어 버립니다.
■IE6
IE6에서는 .a_box.b_box로 읽고 있기 때문에 단순히 배경색 노란색을 오렌지색으로 덮어 쓰고 있습니다.
버그 회피 방법
이 버그는 선택기의 끝에서 클래스 스타일을 덮어 쓰려고 할 때
발생하는 것 같기 때문에, 마지막에 다른 것을 추가하면 회피할 수 있습니다.
아래에서는 셀렉터의 끝에 p를 넣는 것으로 회피하고 있습니다.
HTML
<div class="a_box"> box1</div>
<div class="b_box"> box2</div>
<div class="a_box b_box c_box"><p>box3</p></div>
CSS
.a_box{ background-color: green;}
.b_box{ background-color: yellow;}
.a_box.b_box p{ background-color: orange; margin-top: 0px;}
■IE6
모든 셀렉터의 마지막에 p를 넣어 버리면 결국은 마지막에 같은 명칭이 되어 버리기 때문에 안됩니다.
다른 이름을 넣어주세요.
Reference
이 문제에 관하여(IE 대책 : 복수 클래스를 사용할 때), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/rico/items/febd88bd66a4fb8efc64
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
.a_box.b_box.c_box{~}
だと、.c_boxしか読み取っていません。
<div class="a_box"> box1</div>
<div class="b_box"> box2</div>
<div class="a_box b_box c_box"> box3</div>
.a_box{ background-color: green;}
.b_box{ background-color: yellow;}
.a_box.c_box{ background-color: blue;}
.a_box{ background-color: green;}
.b_box{ background-color: yellow;}
.a_box.b_box{ background-color: orange;}
이 버그는 선택기의 끝에서 클래스 스타일을 덮어 쓰려고 할 때
발생하는 것 같기 때문에, 마지막에 다른 것을 추가하면 회피할 수 있습니다.
아래에서는 셀렉터의 끝에 p를 넣는 것으로 회피하고 있습니다.
HTML
<div class="a_box"> box1</div>
<div class="b_box"> box2</div>
<div class="a_box b_box c_box"><p>box3</p></div>
CSS
.a_box{ background-color: green;}
.b_box{ background-color: yellow;}
.a_box.b_box p{ background-color: orange; margin-top: 0px;}
■IE6
모든 셀렉터의 마지막에 p를 넣어 버리면 결국은 마지막에 같은 명칭이 되어 버리기 때문에 안됩니다.
다른 이름을 넣어주세요.
Reference
이 문제에 관하여(IE 대책 : 복수 클래스를 사용할 때), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/rico/items/febd88bd66a4fb8efc64텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)