본문 바로가기

FRONT-END/CSS

CSS 스타일 기초

CSS 선언의 적용 순서

1) 중요도

결정은 중요성으로 결정하며 1단계가 최우선으로 적용됨

1단계 사용자 스타일 시트가 최우선 ( ex. 저시력자, 색약자 개인 고대비 설정)

--> 2단계 제작자가 만든 스타일 중 !important가 붙은 스타일

----> 3단계 제작자가 만든 일반 스타일

-------> 4단계 기본적인 브라우저 스타일 시트

 

 

 

하나의 요소에 여러 스타일이 적용될 경우 어떤 스타일로 만들어지나?

 

cf. 범위로 볼 때는 id < class < 태그로 태그(p, ...)가 가장 크다.

2) 적용 범위

1위 인라인 스타일 - 특정 위치만 스타일 적용, 태그 안에 스타일 적용

 <span style = "속성:속성값"> </span>

 

2위 id스타일 - #기호

3위 class 스타일 - . 기호

4위 태그 스타일

더보기
<!DOCTYPE html>
<html>
<head>
    <meta charset='utf-8'>
    <meta http-equiv='X-UA-Compatible' content='IE=edge'>
    <meta name='viewport' content='width=device-width, initial-scale=1'>
    <title>외부 스타일로 만들기</title>
    <!-- <link rel='stylesheet' type='text/css' media='screen' href='css/style2.css'> -->
    <style> 
        *{ 
            font-family : 'Lucida Sans', 'Lucida Sans Regular', 'Lucida Gradnde', 'Lucida Sans Unicode' , 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
            font-weight : bold;
        }
        .a1{
            font-family: Verdana, Geneva, Tahoma, sans-serif;
            font-weight: 800;
            font-size:25px;
            color:crimson;
        }
        #id{
            font-size: 40px;
            color:lightseagreen;
        }
        p{
            font-family : Georgia, 'Times New Roman', 'Times', serif;
            font-weight: lighter;
            font-size: 2em;
        }
        section{
            width: 500px;
            padding: 15px;
            border: 3px solid gray;
        }
    </style>
</head>
<body>
    <div id= "container">
        <section>
            <h2 style = "font-size: xx-large;"> Who am I?  </h2>
            <!--클래스는 태그보다 우선순위 높음. 어디에 작성했는지와 상관없이 태그보다 먼저 뜸-->
            <p class ="a1"> 클래스는 다른 <span style="color:gold"> 태그보다 순위 높음</span> <p id = "id"> id가 class보다 순위 높음</p> <p class ="a1">재미있습니다.</p>
            <!-- <p class = "a1" style = "color : darksalmon"> 프런트 앤드</p> -->
    </section>
    </div>
</body>
</html>

 

 

3) 스타일 상속

스타일 시트에서는 자식 요소에서 별도로 스타일을 지정하지 않으면 부모 요소에 있는 스타일 속성들이 자식 요소로 전달되는 것

*** 주의

스타일의 모든 속성이 부모 요소에서 자식요소로 상속되는 것은  아니다.

배경색과 이미지는 스타일이 상속되지 않음.

 

 

더보기
<!DOCTYPE html>
<html>
<head>
    <meta charset='utf-8'>
    <meta http-equiv='X-UA-Compatible' content='IE=edge'>
    <meta name='viewport' content='width=device-width, initial-scale=1'>
    <title>외부 스타일로 만들기</title>
    <script src = "prefixfree.min.js"></script> 
    <link rel='stylesheet' type='text/css' media='screen' href='main.css'>
    <style>
       .box {
              position: absolute;
              left:50px;
              top:70px;
              width: 100px;
              height:60px;
              background: #fff;
              border:2px solid green;
              text-align: center;
              line-height: 60px;
          }
        /* 마우스올리면15도회전*/
        .box:hover{ /*prefixfree.min.js 파일 가지고 있다가 쓰면 모든 브라우저에 같은 css 적용 가능. 밑에 적을 필요 없음*/
            /* -webkit-transform: rotate(15deg);
            -moz-transform: rotate(15deg); 모질라
            -o-transform: rotate(15deg); 오페라
            -ms-transform: rotate(15deg); 마소 */ 
            transform:  rotate(15deg);  /*이 태그가 먹히면 이것만 쓰면되는데, 브라우저마다 안되는 게 있으면 위처럼 따로 써줌*/
        }
    </style>
</head>
<body>
    <div class ="box">
        Mouse Over
    </div>
</body>
</html>

 

 


디자인을 일관성있게 적용하려면 CSS 속성에 브라우저 접두사 붙여야하나,

 

자바스크립 파일을 이용하여 매번 브라우저 접두사를 붙이지 않고도 편리하게 CSS3 속성을 사용할 수 있다.

 

'FRONT-END > CSS' 카테고리의 다른 글

선택자 총정리  (0) 2021.05.04
Web 구현 중 기능 정리  (0) 2021.04.24