CSS Hack의 쓰기 방법
다음은 IE 시리즈의 Hack Write(주의 순서)입니다.
.color {
color:#000;/* */
color:grey !important;/* IE6 , */
color:red\9;/* IE (ie6+) , IE8 “*” “_” css hack; hack */
color:orange\0;/* IE8 */
*color:yellow;/* IE6,IE7 */
+color:#C0C;/* IE6,IE7 */
_color:blue;/* IE6 */
}
실행 결과: IE6 텍스트 색상 블루, IE7 #C0C, IE8 orange, 기타 브라우저(IE9 Preview 포함) 모두grey
또한 IE7은 다음과 같은 쓰기 방식을 지원합니다.
*+html .bgcolor {
background-color:#FF99CC;/* IE7 “*+html” */
}
다음은 IE6, IE5에 대한 쓰기 방법입니다(주석의 배치 위치 참고).
html/* */>body .ie6 {
border:1px dashed #CCC;/* IE6,IE5 */
}
.nie6 {
display:/* */none;/* IE6 */
}
.nie56/* */ {
display:/* */none;/* IE6,IE5 */
}
이외에도 부동 레이아웃을 사용할 때 한 div 블록은 두 개의 부동 div 블록을 포함하고 이 부모 div 블록에 다음 코드를 추가하여 부동을 지웁니다.
#box:after {/* , IE6 IE7 */
content:".";
display:block;
height:0;
clear:both;
visibility:hidden;
}
그러나 유감스럽게도 이런 방법은 IE6, IE7이 인식하지 못하기 때문에 종종 우리는 두 개의 자div 뒤에 빈div를 추가하여 부동을 제거하는 데 사용한다.
IE 시리즈의 경우 IE 특유의 주석을 사용하여 요소에 브라우저 호환성을 위해 특수한 스타일을 추가할 수 있습니다. 다음은 흔히 볼 수 있는 IE 주석입니다.
<!--[if IE]>
HTML code
<![endif]-->
<!--[if IE 5,6,7,8...]>
HTML code
<![endif]-->
<!--[if gte IE 5]>
HTML code
<![endif]-->
<!--[if lt IE 6]>
HTML code
<![endif]-->
<!--[if lte IE 5.5]>
HTML code
<![endif]-->
<!--[if !IE]><!-->
HTML code
<!--<![endif]-->
lt:Less than의 약자, 즉 작다는 뜻이다.lte: Less than or equal to의 약자, 즉 작거나 같다는 뜻입니다.gt: Greater than의 약자, 즉 보다 크다는 뜻입니다.gte:Greater than or equal to의 약자, 즉 크거나 같다는 뜻입니다.!:자바스크립트의 판단부호와 같지 않다는 뜻이다.
참조: http://hszy00232.blog.163.com/blog/static/43022753201001553136921/
Hack을 써야 하는 경우는 IE 시리즈이기 때문에 다른 브라우저에서는 기본적으로 Hack을 사용하지 않는 경우(개인적으로는 표준을 따르면 비IE 시리즈의 호환성을 너무 많이 고려한다. 당신의 페이지가 화려하지 않으면) 다음은 인터넷에서 만나 테스트를 거친 Hack 쓰기 방법이다.
div.text { /* , ,Firefox 3.67 , IE6 IE */
-o-text-overflow:ellipsis;
text-overflow:ellipsis;
white-space:nowrap;
overflow:hidden;
}
이러한 쓰기 방식은 대부분의 브라우저에서 지원됩니다.
다음은 Safari 및 Chrome과 호환되는 쓰기 방법입니다.
p {[color:#000;color:green;} /* Safari,Chrome */
이런 작법은 가능한 한 그것들을 양식의 맨 뒤에 두어야 한다. 왜냐하면 그것들은 그 뒤의 모든 양식을 효력을 잃게 하기 때문이다.
다음은 두 가지 위조 클래스가 호환되는 것이다. 느낌은 서로 다른 버전의 브라우저가 css2에 대한 것이다.1 또는 css3.0 다양한 지원:
.hack:empty { height:50px !important;border:1px solid #CCC; }/* IE6、IE7、IE8 ,IE9、Firefox 3.67、Safari 5.0、Opera 10.0 empty */
*:lang(en) p { background:#CCC !important; }/* IE6、IE7 ,IE8、IE9、Firefox 3.67、Safari 5.0、Opera 10.0 lang */
HTML 코드는 다음과 같습니다.
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
......
<div class="hack">Hack</div>
<div class="hack"></div>
<div class="hack">Hack</div>
<p>*:lang(en)</p>
실행 결과는 중간에 내용이 없는div 높이 50px이고 1px 테두리가 있습니다.p 내부 텍스트 배경색은 #CCC
또 하나는 Opera를 겨냥한 것이라고 한다.
@media all and (min-width: 0px){div.opera {border:1px soild #CCC;}}/* Opera */
호환성에 관해서는 접촉한 친구들만 깊이 느낄 수 있을 거라고 믿고, 해크의 내용도 많아 완전하게 열거하기 어렵고, 많이 실천해야만 브라우저 호환성에 대한 두려움을 극복할 수 있다.처음으로 오리지널 성분이 비교적 높은 글을 썼는데 내용도 계속 업데이트될 것입니다. 고수들의 교정을 환영합니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
장치 너비가 특정 너비보다 크고 특정 너비보다 작을 때 웹 페이지 CSS 스타일을 변경하는 방법은 무엇입니까?장치 너비가 특정 너비보다 크고 특정 너비보다 작을 때 웹 페이지 CSS 스타일을 변경하려면 @media의 미디어 쿼리 구문을 사용한 다음 구문을 작성하여 스타일의 최소 너비를 정의해야 합니다. 적용된 후 and라는...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.