웹 기술 기초

<style>
  #main p    { color: red; }
  .content p { color: green; }
  p.note     { color: blue; }
</style>
<div id="main" class="content">
  <p class="note">Hello</p>
</div>

다른 스타일 지정은 없는 것으로 한다. 위의 HTML에서 'Hello'라는 문자의 색은?

  1. A빨강(red)
  2. B초록(green)
  3. C파랑(blue)
정답과 해설 보기

정답: A. 빨강(red)

여러 규칙이 같은 요소에 해당할 때는 선택자의 명시도가 높은 규칙이 우선됩니다. 명시도는 (ID의 수, 클래스·속성·의사 클래스의 수, 요소의 수)의 조로 비교하며, #main p는 (1, 0, 1), .content p와 p.note는 둘 다 (0, 1, 1)이므로 ID를 포함하는 #main p의 빨강이 사용됩니다. 명시도가 같은 규칙끼리는 나중에 쓴 규칙이 우선됩니다. style 속성에 직접 쓴 지정이나 !important는 이보다 우선됩니다.

이 분야 연습하기 분야로 돌아가기

웹 기술 기초의 다른 문제

  1. 브라우저가 첫 화면을 표시하기까지의 처리(중요 렌더링 경로)에서는 <head> 안에 속성 없이 쓴 <script src="app.js">가 있으면 HTML 파싱이 거기서 멈춘다. 이 요소에 defer 속성을 붙였을 때의 동작으로 올바른 것은?
  2. 위의 JavaScript를 브라우저에서 실행했을 때 콘솔에 표시되는 문자의 순서로 올바른 것은?
  3. 브라우저의 동일 출처 정책에서 https://www.example.com/app/index.html과 같은 출처로 간주되는 URL은?
  4. https://app.example.com 페이지의 JavaScript가 fetch를 사용하여 https://api.example.net/orders로 Content-Type: application/json 본문을 붙인 POST 요청을 보내려 한다. 이때 CORS의 동작으로 올바른 것은?
  5. Service Worker에 대한 설명으로 올바른 것은?