1

어딘가 도움이 될 수 있습니까, 내 스타 해킹 arnt 스타일이 노력하고 이러한 양식 요소에 대한 IE6 및 8에서 일하고? 하지만 이상하게도 ie7에서 작동합니까?스타 해킹이 IE6 및 8에서 작동하지 않습니다

일반적으로 클래스 선택기의 infront를 IE8과 7에서 작동하도록 만들었지 만, 6이 아닌 stil을 추가하여 * 파이어 폭스, 사파리, 크롬 등에 적용하여 별표를 의미합니다. 내가 필요로하지 않는 모든 브라우저에 인터넷 익스플로러 만 적용했다.

도움이 필요하십니까?

/* FORMS */ 

/*SEARCH*/ 

#searchform .s, #searchform .but{float:left;} 

#searchform .s{ 
background-color:rgba(128, 129, 132, 0.4);background-image: url(images/line.png);margin-bottom: 10px; border: none; padding:10px;width: 140px; 
font-family: Helvetica, Arial, Sans-serif; font-size: 12px; font-weight: bold; color: #868686; 
} 

#searchform .but 
{ 
background-color:rgba(128, 129, 132, 0.4); margin-bottom: 10px; border: none; padding:10px;width: 30px; 
font-family: Helvetica, Arial, Sans-serif; font-size: 12px;font-weight: bold; color:#00ADEE; 
} 

/* IE HACK */ 

*#searchform .s{ 
*background-color:#C3C3C4; 
} 

*#searchform .but{ 
*background-color:#C3C3C4; 
*height: 35px 
} 

/*FIREFOX btn HACK*/  
#searchform .but::-moz-focus-inner { 
    padding: 0; 
    border: 0 
} 

/* MAILING LIST */ 

#mc_embed_signup #mce-EMAIL, #mc_embed_signup #mc-embedded-subscribe{float:left;} 

#mc_embed_signup{margin-top: 10px; 
background-image: url(images/ieblue.png); } 
#mc_embed_signup #text { padding: 8px 5px 8px 8px; 
font-family: Helvetica, Arial, Sans-serif; font-size: 10px; line-height: 14px; font-weight: bold; color: #FFFFFF;} 
#mc_embed_signup .asterisk {color: #FFFFFF} 
#mc_embed_signup #mce-EMAIL {background-color:rgba(0, 173, 238, 0.6);background-image: url(images/line2.png); 
margin-bottom: 10px; border: none; padding:10px;width: 158px; 
font-family: Helvetica, Arial, Sans-serif; font-size: 12px; font-weight: bold; color: #FFFFFF; } 
#mc_embed_signup #mc-embedded-subscribe {background-color:rgba(0, 173, 238, 0.6); margin-bottom: 10px; border: none; padding:10px;width: 30px; 
font-family: Helvetica, Arial, Sans-serif; font-size: 12px;font-weight: bold; color:#FFFFFF; 
} 

/* IE HACK */ 
* #mc_embed_signup #mce-EMAIL{ 
*background-color:#60c7ee; 
} 
* #mc_embed_signup #mc-embedded-subscribe{ 
*background-color:#60c7ee; 
*height: 35px 
} 

/*FIREFOX btn HACK*/  
#mc_embed_signup #mc-embedded-subscribe::-moz-focus-inner { 
    padding: 0; 
    border: 0 
} 

#hidemap{ 
display: none;} 

/* DIRECTIONS */ 
#daddr #saddr{float:left;} 


#saddr {background-color:rgba(128, 129, 132, 0.4);background-image: url(images/line.png); 
margin-bottom: 0px; border: none; padding:10px;width: 158px; ; 
font-family: Helvetica, Arial, Sans-serif; font-size: 12px; font-weight: bold; color: #868686;} 
#saddrbut {background-color:rgba(128, 129, 132, 0.4); margin-bottom: 0px; border: none; padding:10px;width: 30px; 
font-family: Helvetica, Arial, Sans-serif; font-size: 12px;font-weight: bold; color:#00ADEE; 
} 

*#saddr{ 
*background-color:#C3C3C4; 
} 

*#saddrbut{ 
*background-color:#C3C3C4; 
*height: 35px 
} 

/*FIREFOX btn HACK*/  
#saddrbut::-moz-focus-inner { 
    padding: 0; 
    border: 0 
} 

답변

1

저는이 CSS 해킹을 조금 읽었습니다. 유효한 Wikipedia에 좋은 참고가있다.

IE 스타일링을 위해 HTML에서 조건부 주석을 사용하는 것이 좋습니다. 그것은 별도의 파일에 모든 IE 고유의 스타일을 유지 :

<!--[if IE]> 
    <link href="style-ie.css" rel="stylesheet" type="text/css" /> 
<![endif]--> 

<!--[if lt IE 8]> 
    <link href="style-below-ie8.css" rel="stylesheet" type="text/css" /> 
<![endif]--> 

이 조건부 주석에 대한 완전한 가이드 : 이 http://www.quirksmode.org/css/condcom.html

+0

내가 이것을 시도하면, 즉 그것을 사용하지 않습니까? – Amy

+0

"IE8"이 아니라 "IE 8"이어야합니다. – BoltClock

+0

감사합니다. @Amy 스타일 시트 href가 올바른 CSS 파일을 가리키고 있는지 확인하십시오. –

2

스타 해킹 아래 IE7 등을 대상으로, 그렇지 않은 이유를 설명 IE8에서 당신을 위해 일하고 있습니다. IE6에서 왜 작동하지 않는지 말할 수 없습니다. 별 해킹이 효과적 일 것이라고 생각했지만 IE6에 대한 지원을 중단 했으므로 잠시 생각할 필요가 없었기 때문에 올바르게 기억하지 못할 수 있습니다.

저는 이처럼 해킹을 사용하는 것이 일반적으로 나쁜 생각이라고 말하고 싶습니다. IE6 이외의 다른 용도로 CSS 해킹을 사용하는 경우 10 번에서 9 번, 그다음 잘못된 것을하고있는 것입니다. IE6의 경우에도 조건부 주석을 사용하는 것이 좋습니다 (실제로이 점은 모든 버전의 IE에 적용됩니다).

이 IE를 타겟팅하기 위해 CSS 해킹을 사용해야하는 경우 this page을 확인하면 개별적인 IE 버전 조합을 타겟팅하는 데 사용할 수 있습니다.

IE8 이하를 타겟팅하는 경우 \9 해킹이 적절한 것으로 보입니다. 나는 이전에 말한 것을 다시 반복 할 것이고 가능하다면 해킹을 전혀 사용하지 않을 것을 권장합니다.

희망이 있습니다.

[편집]

당신을 위해 작동하지 않는 이유는 스타 해킹 속성이 아닌 선택에가는 것입니다. 스타 해킹이 background-color 라인이 아닌 #searchform 선택에 별을하려는 경우에만있는 반면

*#searchform .s{ 
*background-color:#C3C3C4; 
} 

:

그래서이있다.

는 [EDIT2]

더 중요한 것은, 당신은 실제로 전혀 여기에 어떤 해킹을 사용할 필요가 없습니다.

단순히 첫째, 더 많은 고급 버전 다음에 일반 컬러 가을 백 버전을 지정하고, 브라우저는 지원 내용에 따라, 그들을 위해 작동하는 하나를 선택합니다 :

#searchform .s{ 
    background-color:#C3C3C4; 
    background-color:rgba(128, 129, 132, 0.4); 
    margin-bottom: 10px; border: none; 
} 

참조 - - 해킹이 필요하지 않습니다. :-)

+0

좋아요, 요점이 있습니다. 이것은이 3 가지 요소들에 대한 것일 뿐이므로 해킹이 스타일 시트를 복제하고 나중에 두 가지 스타일 시트를 편집해야하는 것보다 간단 할 것이라고 생각했습니다. \ 9은 IE7과 8에서 작동하지만 다시는 6이 아니므로 입력 피드의 배경색을 스타일링하려고한다는 사실과 관련이 있는지 확신 할 수 없으며 IE6에서는이를 허용하지 않습니다. – Amy

+0

@Amy - 아마도 그 이유가 있습니다. 그러나 무엇이든 실제로 여기에서 해킹이 필요하지는 않습니다. 단순히 rgba 버전이 따르는 일반 색상 버전을 지정하면 모든 브라우저에서 지원하는 내용에 따라 작동합니다. (그 점을 반영하기 위해 답을 편집 할 것입니다.) – Spudley

+0

안녕하세요. 고맙습니다. 지금 시험해보고 작동 방식을 살펴 보겠습니다. – Amy

관련 문제