>웹 프론트엔드 >CSS 튜토리얼 >브라우저 호환성 문제 해결 팁

브라우저 호환성 문제 해결 팁

青灯夜游
青灯夜游원래의
2018-09-10 14:53:521704검색

프런트엔드 웹페이지를 개발하고 페이지의 CSS 스타일을 작성할 때 우리가 디자인하고 개발하는 프런트엔드 페이지가 서로 다른 브라우저에서 정상적으로 작동할 수 있도록 다양한 브라우저의 호환성 문제를 고려해야 하는 경우가 많습니다. 브라우저. 이 장에서는 특정 참조 가치가 있는 브라우저 호환성 문제를 해결하기 위한 몇 가지 팁을 제공합니다. 도움이 필요한 친구들이 이를 참조할 수 있기를 바랍니다.

1. 크롬에서는 12px보다 작은 텍스트 글꼴이 기본적으로 12px로 표시되므로 크롬에서는 12px보다 작은 글꼴을 지원할 수 있습니다

box{ font-size: 8px; -webkit-text-size-adjust: none;}
#🎜🎜 #단, 위 방법은 Chrome 27 이상에서는 더 이상 사용할 수 없습니다. 하지만 우리는 이 문제를 해결하기 위해 CSS3을 사용할 수 있습니다.

box{ font-size: 12px; -webkit-transform: scale(0.75);}

2. 다른 브라우저의 태그의 기본 외부 패치와 내부 패치는 다릅니다. 스타일 컨트롤을 추가하지 않고 몇 가지 태그만 작성하면 됩니다. 각각의 여백과 패딩은 매우 다릅니다. 발생 빈도: 100% 브라우저 호환성 문제를 해결하기 위해 거의 모든 CSS 파일은 시작 부분에 와일드카드를 사용하여 각 태그의 내부 및 외부 패치를 0으로 설정합니다.

3. ie6, ie7 및 여행에서 높이가 설정한 높이를 초과합니다(일반적으로 10px 미만).

# 🎜🎜# 문제 증상: IE6, 7 및 Ayouli에서 이 라벨의 높이가 제어되지 않고 사용자가 설정한 높이를 초과합니다.

발생 빈도: 60%

#🎜🎜 #해결책: 높이를 초과하는 라벨에 대해 Overflow:hidden을 설정하거나 줄 높이를 설정한 높이보다 작게 설정하세요.

참고: 이 상황은 일반적으로 작은 둥근 모서리 배경을 설정하는 라벨에서 발생합니다. 이 문제의 원인은 IE8 이전의 브라우저가 레이블에 최소 기본 줄 높이를 제공하기 때문입니다. 라벨이 비어 있더라도 라벨 높이는 여전히 기본 줄 높이에 도달합니다.

4. 이미지에는 기본적으로 간격이 있습니다.

문제 증상: 여러 개의 img 태그를 함께 사용하면 일부 브라우저에는 기본 간격이 있습니다. 게다가 문제에서 언급된 와일드카드도 작동하지 않습니다.

만남 확률: 20%

해결책: img 레이아웃에 float 속성을 사용하세요

Remarks: 왜냐하면 img 태그는 인라인 속성 태그이므로 컨테이너 너비를 초과하지 않는 한 img 태그는 한 줄로 정렬되지만 일부 브라우저에서는 img 태그 사이에 간격이 있습니다. 이 공백을 제거하고 float를 사용하는 것이 올바른 방법입니다

5. 라벨의 최소 높이 설정인 min-height가 호환되지 않습니다

문제 증상: min-height 자체가 CSS 속성과 호환되지 않기 때문에 min-height 설정이 다양한 브라우저와 잘 호환되지 않습니다

발생 확률: 5%

#🎜 🎜#솔루션 솔루션: 라벨의 최소 높이를 200px로 설정하려는 경우 필수 설정은 다음과 같습니다.

* {margin:0;padding:0;}
참고: B/S 시스템의 프런트 엔드를 열 때 많은 내용이 있습니다. 이 요구 사항이 있는 상황. 콘텐츠가 특정 값(예: 300px)보다 작은 경우. 컨테이너의 높이는 300px입니다. 콘텐츠 높이가 이 값보다 크면 스크롤 막대가 나타나는 대신 컨테이너의 높이가 올라갑니다. 이때 우리는 이 호환성 문제에 직면하게 됩니다.

6. Const 문제

참고: Firefox에서는 const 키워드 또는 var 키워드를 사용하여 상수를 정의할 수 있습니다. ;

IE에서는 var 키워드만 사용하여 상수를 정의할 수 있습니다.

해결책: 상수를 정의하려면 var 키워드를 균일하게 사용하세요. # 🎜🎜#

7. window.location.href 문제

참고: IE 또는 Firefox2.0.x에서는 다음을 사용할 수 있습니다. window.location 또는 window.location.href;

Firefox1.5.x에서는 window.location.

해결책: window를 사용하세요. window.location.href.

8 ul 및 ol 목록의 들여쓰기 문제

ul, ol 및 기타 목록을 제거하려면 스타일을 다음과 같이 작성해야 합니다.

{min-height:200px; height:auto !important; height:200px; overflow:visible;}
IE에서 margin:0px를 설정하면 위쪽, 아래쪽, 왼쪽 및 오른쪽 들여쓰기, 공백, 목록의 숫자나 점. padding 설정은 Firefox에서 스타일에 영향을 주지 않습니다. margin:0px 설정은 위쪽 및 아래쪽 공백만 제거할 수 있고, padding:0px 설정은 왼쪽 및 오른쪽 들여쓰기만 제거할 수 있습니다. 목록 번호나 점을 제거하려면 list-style:none을 설정하세요. 즉, IE에서는 margin:0px만 설정하면 최종 효과를 얻을 수 있지만, Firefox에서는 margin:0px, padding:0px, list-style:none을 동시에 설정해야 최종 효과를 얻을 수 있습니다.

9. IE와 너비 및 높이 문제

IE는 min-의 정의를 인식하지 못하지만 실제로는 min이 있는 것처럼 일반 너비와 높이를 사용합니다. 이것은 큰 문제입니다. 너비와 높이만 사용하면 이 두 값은 일반 브라우저에서 변경되지 않습니다. min-width와 min-height만 사용하면 너비와 높이가 전혀 설정되지 않습니다. IE에서.

예를 들어 배경 이미지를 설정하려면 이 너비가 더 중요합니다. 이 문제를 해결하려면 다음을 수행하십시오.

list-style:none;margin:0px;padding:0px;

10 페이지의 최소 너비

이전과 유사 문제가 있는 경우 IE는 최소 너비를 인식하지 못합니다. 최소 너비를 달성하려면 다음 방법을 사용할 수 있습니다:

container{ min-width: 600px;width:expression(document.body. clientWidth

첫 번째 최소 너비는 정상이지만 두 번째 줄의 너비는 IE에서만 인식되는 Javascript를 사용하므로 HTML 문서가 덜 형식화됩니다. 실제로 Javascript 판단을 통해 최소 너비를 구현합니다.


위 내용은 브라우저 호환성 문제 해결 팁의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.