>  기사  >  웹 프론트엔드  >  html 태그 속성과 CSS 속성 중 어느 것이 더 높은 우선순위를 갖고 있나요?

html 태그 속성과 CSS 속성 중 어느 것이 더 높은 우선순위를 갖고 있나요?

青灯夜游
青灯夜游원래의
2021-05-21 14:31:413522검색

CSS 속성과 비교하여 HTML 태그 속성의 우선순위가 더 높습니다. 이유: W3C 표준은 CSS 스타일 사용을 옹호하고 HTML 태그 속성을 CSS 스타일로 대체합니다. 웹 페이지 제작 표준은 태그와 스타일을 분리하고 태그 속성에 스타일을 설정하면 재사용이 더 어려워집니다.

html 태그 속성과 CSS 속성 중 어느 것이 더 높은 우선순위를 갖고 있나요?

이 튜토리얼의 운영 환경: Windows7 시스템, CSS3&&HTML5 버전, Dell G3 컴퓨터.

오늘 w3c CSS 튜토리얼의 Dimension 섹션을 보다가 다음과 같은 실험을 진행했습니다.

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>W3Cschool教程(w3cschool.cn)</title> 
<style>
html {height:100%;}
body {height:100%;}
img.normal {height:auto;}
img.big {height:50%;}
img.small {height:10%;}
</style>
</head>

<body>
<img  class="normal" src="/attachments/cover/cover_css.png"    style="max-width:90%"  style="max-width:90%" / alt="html 태그 속성과 CSS 속성 중 어느 것이 더 높은 우선순위를 갖고 있나요?" ><br>
<img  class="big" src="/attachments/cover/cover_css.png"    style="max-width:90%"  style="max-width:90%" / alt="html 태그 속성과 CSS 속성 중 어느 것이 더 높은 우선순위를 갖고 있나요?" ><br>
<img  class="small" src="/attachments/cover/cover_css.png"    style="max-width:90%"  style="max-width:90%" / alt="html 태그 속성과 CSS 속성 중 어느 것이 더 높은 우선순위를 갖고 있나요?" >
</body>
</html>

실행 결과는 다음과 같습니다.

html 태그 속성과 CSS 속성 중 어느 것이 더 높은 우선순위를 갖고 있나요?
당시 제가 의아했던 점은 왜 img 태그와 비교하느냐 하는 것이었습니다. 내부 스타일 시트의 img 속성이 역할을 하여 다양한 바이두 검색이 이루어졌습니다.


드디어 관련 결론에 도달했습니다.
(1) 이제 태그의 속성 설정을 인라인 스타일과 혼동한 것을 발견하여 처음에는 너무 놀랐고 나중에는 이해할 수 없었습니다. 인라인 스타일을 시도했습니다

<img  class="big" src="/attachments/cover/cover_css.png"    style="max-width:90%" / alt="html 태그 속성과 CSS 속성 중 어느 것이 더 높은 우선순위를 갖고 있나요?" ><br>

실험 결과에 따르면 여전히 인라인 스타일이 내부 스타일 시트보다 우선순위가 더 높은 것으로 나타났습니다.

(2) 개념을 다시 명확히 한 후 추가 관찰을 통해 내부 스타일 시트의 스타일 설정이 html 태그 속성의 스타일 설정보다 우선순위가 높다는 것을 알 수 있습니다. 그런 다음 외부 스타일 시트로 실험을 수행했습니다

.
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"> 
<title>W3Cschool教程(w3cschool.cn)</title> 
<link rel="stylesheet" type="text/css" href="style.css"/>
</head>
<body>
<img  src="cover_css.png"    style="max-width:90%"  style="max-width:90%" / alt="html 태그 속성과 CSS 속성 중 어느 것이 더 높은 우선순위를 갖고 있나요?" >
</body>
</html>

를 통해 외부 스타일 시트의 스타일 설정이 html 태그 속성의 스타일 설정보다 우선순위가 높다는 사실을 발견했습니다. 또한 img 태그 내부의 높이 속성보다 우선순위가 더 높다는 것을 알 수 있습니다. css는 태그의 속성보다 우선합니다.

(3) W3C 표준은 CSS 스타일 사용을 옹호하고 HTML 태그 속성을 CSS 스타일로 대체합니다. 웹 페이지 제작 표준은 태그와 스타일을 분리하는 것입니다. tag 속성에 설정되어 있기 때문에 재사용이 어렵습니다. 개인적으로 이것이 tag 속성보다 CSS 스타일 우선순위가 높은 이유가 아닐까 추측합니다.


(4) CSS 스타일 사용이 권장되지만 W3School에서는 "

이미지의 높이 및 너비 속성을 지정하는 것이 좋습니다. 이러한 속성이 설정되면 페이지가 로드될 때 이미지의 높이 및 너비 속성입니다. 이러한 속성이 없으면 브라우저는 이미지 크기를 이해하고 이미지에 적합한 공간을 확보할 수 없으므로 이미지가 로드될 때 페이지 레이아웃이 변경됩니다.

" 이미지 크기를 조정하기 위해 높이 및 너비 속성을 전달하지 마십시오. 이미지를 축소하기 위해 높이 및 너비 속성을 사용하는 경우 사용자는 큰 이미지를 다운로드해야 합니다(페이지에서 이미지가 작게 보이는 경우에도). 올바른 접근 방식은 웹 페이지의 이미지를 사용하는 것입니다. 이미지는 소프트웨어를 통해 적절한 크기로 처리되어야 합니다. 높이 및 너비 속성의 두 값은 브라우저에서 실제 크기보다 크거나 작을 수 있습니다. 예약된 공간의 크기에 맞게 이미지를 자동으로 조정합니다. 그러나 참고: 최종 표시 크기에 관계없이 브라우저는 여전히 전체 파일을 다운로드해야 하며, 원래 너비와 높이 비율이 맞지 않으면 이미지가 왜곡됩니다. 유지됨

높이 및 너비 속성을 사용하면 페이지 영역을 매우 쉽게 채우고 문서 성능도 향상시킬 수 있습니다. 원하는 경우 전체 크기 막대를 만들 필요가 없습니다. 대신 너비와 높이가 1픽셀인 이미지를 만들고 원하는 색상을 지정한 다음 높이와 너비 속성을 사용하여 더 큰 크기로 확장하면 됩니다. 백분율 형식의 너비 값이 제공되고 높이는 무시됩니다. 브라우저는 이미지 확대 또는 축소 여부에 관계없이 이미지의 가로 세로 비율을 유지합니다(

높이가 설정되지 않은 경우 기본값은 자동 적응이므로

) 이는 이미지의 높이와 너비의 비율이 변하지 않고 이미지가 왜곡되지 않는다는 것을 의미합니다."판단 기사에서 ID가 "Yu Jiangshui"인 댓글과 같습니다: "img의 alt 속성은 필수입니다. 너비와 높이를 권장합니다. img는 p 구조에 비해 웹 페이지에서 로드하는 속도가 느리기 때문에 구조와 텍스트를 먼저 로드한 다음 이미지를 로드하는 경우가 많습니다. 이때는 브라우저는 이미지의 크기를 미리 알지 못하므로 웹 페이지 내 이미지의 위치와 크기를 렌더링할 수 없으며, 이미지가 로드된 후 렌더링되며 이때 다시 그리기가 발생합니다(즉, 브라우저가 다시 계산함). 구체적인 표현은 이미지 아래의 텍스트가 하단으로 이동했다는 것입니다. 여기 타오바오의 제품 소개 페이지에서는 매우 명확합니다.)

브라우저는 너비와 높이를 계산합니다. img를 비워두고 이미지가 로드될 때까지 기다리면 페이지 다시 그리기를 방지하고 프런트엔드 성능과 사용자 경험을 향상할 수 있으며 Zhihu의 많은 사진에 있는 답변에서 확인할 수 있습니다.


반응형 레이아웃의 이미지 처리에서(웹 사이트는 여러 터미널과 호환될 수 있습니다 - 각 터미널마다 특정 버전을 만드는 것이 아니라 이 개념은 모바일 인터넷 브라우징을 해결하기 위해 탄생했습니다) img 태그는 최대로 설정해야 합니다 -width: 100%; height: auto; 이 두 속성은 비례적인 스트레칭

을 보장합니다. ”

(학습 영상 공유: css 영상 튜토리얼)

위 내용은 html 태그 속성과 CSS 속성 중 어느 것이 더 높은 우선순위를 갖고 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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