'CSS 해킹'의 정의는 무엇입니까?
라는 용어를 오해하는 것 같습니다
많은 분들이 알고 있듯이 Sitepoint는 최근에 제가 한 대규모 CSS 설문 조사 결과를 발표했습니다. 설문 조사가 요청한 질문 중 하나는 다음과 같습니다.
다음 중 다음 중 어떤 Microsoft 브라우저가 CSS 해킹을 작성하거나 포함합니까?
결과를 처음 연구했을 때, 나는이 질문의 결과에서 이상한 점을 놓친 것 같았다. 다행히도 Microsoft의 최신 브라우저에서 일하는 엔지니어 인 David Storey가이를 지적했습니다. 이 질문에 대답 한 1,418 명 중 결과는 다음과 같습니다.
ie9 - 62%-
ie10 - 61%
ie11 - 57%
가장자리 - 45%
- ie8 - 35% ie7 - 9%
- ie6 - 3% ie5.5 - 1%
개발자의 60% 이상이 IE9 및 IE10에 대한 CSS 해킹을 작성한다고 주장하는 것은 충분히 나쁘지 만 Edge는 45%입니까? Edge 용 해킹이 게시되었지만 아직 Browserhacks 웹 사이트에 있지 않으므로 많은 사람들이 해당 브라우저에 해킹을 사용하지 않을 것 같습니다. 그러나 더 중요한 질문은 다음과 같습니다. 개발자가 해킹을 요구하는 CSS를 렌더링하는 데 어떤 문제가 발생 하는가?
처음에는 많은 참가자들이 사용자 에이전트 스니핑을 통해 브라우저 감지와 해킹을 혼란스럽게 할 것이라고 생각했습니다. 그러나 그조차도 왜 그 숫자가 가장자리가 그렇게 높은지 설명하지 않을 것입니다.
그런 다음 나는 그들이 질문을 완전히 오해해야한다는 것을 깨달았습니다. 그들은‘브라우저 X의 CSS 해킹 쓰기’는‘지원 브라우저 X’와 동일하다고 생각합니다. 다른 논리적 설명은 실제로 없습니다. 특히 해킹이 필요하지 않은 다른 브라우저의 높은 비율을 고려할 때.
위의 예제에서 CSS (종종 "Star-Html Hack"이라고도 함)는
이하의 Internet Explorer 버전 만 목표로합니다. IE6을 지원하는 대부분의 개발자는 IE6 이전에 아무것도 신경 쓰지 않으므로 일반적으로 IE6 전용 해킹으로 작동합니다.
.
"핵"인 부분은 별표와 "html"이 뒤 따릅니다. 이것은 범용 선택기와 요소 유형 선택기의 조합입니다. 어느 시점에서 누군가 다른 선택기 앞에 다른 선택기가 다른 브라우저에는 영향을 미치지 않으면 서 특정 버전의 IE에서만 작동한다는 것을 발견했습니다. 이는 위 코드 예제에 정의 된 .sidebar 요소의 왼쪽 마진이 IE6 또는 이전에만 적용됨을 의미합니다. 이 경우 CSS는 실제로 유효하므로 오류 나 경고를받지 못할 것입니다 (나중에 자세한 내용).
다음은 BrowserHacks 웹 사이트에서 가져온 또 다른 예입니다. 이번에는 IE11을 대상으로합니다.
는 확인하지 않았습니다.
이 경우 : -ms-fullscreen은 "알 수없는 공급 업체 확장 의사 클래스"로 간주되기 때문에 경고합니다. 이런 종류의 CSS를 경고 대신 오류로 보는 것이 더 편안하다고 느끼면 유효성 검사기 입력 영역 아래의 "더 많은 옵션"섹션을 사용하여 유효성 검사기 설정을 조정할 수 있습니다.
.
이 경우 유효성 검사기에서 어떤 설정을 선택하든 오류 메시지가 표시되며 스타일 시트는 유효성 검사를 전달하지 않습니다.
CSS Hacks가 유효하지 않은 CSS? 입니다
.
위의 CSS는 IE8 이하를 목표로합니다. "해킹"은 백 슬래시와 9 개 (9)의 조합입니다. 9 부분이 라인을 유효하지 않은 CSS를 만들기 때문에 대부분의 브라우저는 전체 라인을 무시합니다. 그러나 어떤 이유로 든 Internet Explorer 버전 8 이하는 여전히 유효한 것으로 간주되며 여백 설정을 적용합니다.
중요한 키워드가 추가 된 CSS 라인은 완전히 다른 문제입니다. 이것은 유효한 CSS이며 특정 브라우저를 타겟팅하는 데 사용되지 않습니다. 이것은 해킹이 아니지만 나쁜 CSS로 볼 수 있습니다.
공급 업체 접두사는 특정 브라우저를 대상으로하지만 이는 우리가 관습 적으로 해킹이라고하는 것이 아닙니다. 대부분의 경우 공급 업체 접두사를 사용하는 경우 유효한 표준 코드도 제공합니다. 그것은 해킹이 아닙니다. 즉, 브라우저를 타겟팅하기 위해 공급 업체 별 코드를 작성하는 경우가 있으므로 해킹 자격이 있습니다. _ :-ms-fullscreen을 사용하는 위의 코드가 예입니다. 또 다른 좋은 예는 하드웨어 가속을 트리거하는 것입니다
WebKit 브라우저에서. 그러나 벤더 접두사는 대부분 별도의 주제입니다. 실제로 W3C는 공급 업체 별 코드에 대한 문서를 가지고 있으며, 이는 그 자체로 해킹으로 여겨지지 않아야한다는 개념을 뒷받침합니다.
공급 업체 접두사가 반드시 해킹은 아닙니다
스타일 시트의 다른 부분 (예 : Body .Content #SideBar P)에서 무언가를 무시하려는 선택자와의 특정한 것은 CSS 해킹이 아닙니다. CSS는 나쁜 일이지만 해킹은 아닙니다.
위 내용은 'CSS 해킹'의 정의는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

Video Face Swap
완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











그것은#039; VUE 팀에게 그것을 끝내는 것을 축하합니다. 나는 그것이 막대한 노력과 오랜 시간이라는 것을 알고 있습니다. 모든 새로운 문서도 있습니다.

나는 누군가이 매우 합법적 인 질문으로 글을 썼습니다. Lea는 브라우저에서 유효한 CSS 속성 자체를 얻는 방법에 대해 블로그를 작성했습니다. 이는 이와 같습니다.

WordPress 편집기에서 사용자에게 직접 문서를 표시 해야하는 경우 가장 좋은 방법은 무엇입니까?

다른 날, 나는 Corey Ginnivan의 웹 사이트에서 스크롤 할 때 카드 모음이 서로 쌓이는 것을 발견했습니다.

목표가 귀하의 사이트를 동시에 다른 크기로 표시하는 이러한 데스크탑 앱이 많이 있습니다. 예를 들어, 글을 쓸 수 있습니다

CSS 그리드는 레이아웃이 그 어느 때보 다 쉽게 레이아웃을 만들 수 있도록 설계된 속성 모음입니다. 어쨌든, 약간의 학습 곡선이 있지만 그리드는

Google Fonts가 새로운 디자인 (트윗)을 출시 한 것을 볼 수 있습니다. 마지막 큰 재 설계와 비교할 때 이것은 훨씬 더 반복적 인 느낌이 듭니다. 차이를 간신히 말할 수 있습니다
