CSS 속성 앞의 별표 용도


101

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

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

답변:


117

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

*자산 가치

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

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

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



1

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

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


이것은 스타 HTML 해킹이 아닙니다. 그것은 선택기에 들어가고 유효한 CSS입니다.
bobince

: @bobince 스타 해킹 스타 HTML 해킹은 두 개의 서로 다른 것들 en.wikipedia.org/wiki/CSS_filter#Star_hacken.wikipedia.org/wiki/CSS_filter#Star_HTML_hack
마이크 코 빙턴


0

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

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


0

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

에서 여기 :

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

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