[css] CSS 속성 앞의 별표 용도

다음은 Yahoo CSS 재설정에서 가져온 것입니다. 누군가 별표의 목적을 설명해 주시겠습니까?

body {
  font:13px/1.231 arial,helvetica,clean,sans-serif;
  *font-size:small;
  *font:x-small;
}



답변

Internet Explorer 7 이하 버전에 대한 브라우저 별 CSS 해킹입니다.

*자산 가치

Internet Explorer 7에서는 속성 이름 앞에 밑줄이나 하이픈이 붙은 동작을 수정했지만 영숫자가 아닌 다른 문자 접두사는 IE6에서와 같이 처리됩니다. 따라서 속성 이름 바로 앞에 별표 (*)와 같은 영숫자가 아닌 문자를 추가하면 속성이 IE에서 적용되고 다른 브라우저에서는 적용되지 않습니다. 하이픈 및 밑줄 방법과 달리 CSS 사양은 별표를 접두사로 예약하지 않으므로이 해킹을 사용하면 CSS 사양이 발전함에 따라 예기치 않은 동작이 발생할 수 있습니다.

* property : value는 IE 7 이하의 속성 값을 적용합니다. 향후 버전에서 작동하거나 작동하지 않을 수 있습니다. 경고 : 잘못된 CSS를 사용합니다.

출처 : http://www.javascriptkit.com/dhtmltutors/csshacks3.shtml


답변

인터넷 익스플로러 해킹입니다. 속성 이름 바로 앞에 별표 (*)와 같은 영숫자가 아닌 문자를 추가하면 해당 속성이 IE7 이하에서는 적용되지만 다른 브라우저에서는 적용되지 않습니다.

http://www.javascriptkit.com/dhtmltutors/csshacks3.shtml


답변

IE를 제외한 모든 브라우저는 규칙을 무시합니다. 스타 해킹이라고합니다. IE7은 표준 모드의 규칙을 무시할 것이라고 생각합니다.

이 경우 글꼴 규칙이 설정되고 IE 6 및 경우에 따라 7에 대해 재정의됩니다.


답변

내가 아는 한, 별표는 Firefox가 속성을 읽지 못하게하지만 IE에서는 유효합니다.


답변

그것은 CSS 해킹이며 그 규칙은 IE7 이하에만 적용됩니다.

그래도 사용하지 않는 것이 좋습니다. IE 비 호환성을 수정하는 더 좋은 방법이 있습니다.


답변

이와 같은 문자를 배치하는 것은 IE 6이 스타일의 속성을 사용하도록하는 동시에 더 “정상적인”브라우저에서 숨길 수있는 해킹 / 해결 방법입니다.

에서 여기 :

간단히 말해서 Internet Explorer CSS 파서는 속성의 이름을 찾는 데 지나치게 공격적이며 실제로 영숫자가 아닌 선행 문자를 무시합니다. 내 테스트에서 이것은 적어도 IE5 이후의 경우로 보입니다.


답변