우리는  초기화를 통해 css속성을 적용할 준비를 마쳤다.

Header를 카피해보도록 하자.

※포토샵을 사용하면 가이드라인을 잡을 수 있다.

가이드라인은 공간의 위치를 잡을 때 필요하다.

포토샵이 없다면 페이지 검사를 통해 공간의 크기와 위치를 알 수 있다.

포토샵이 있어도 이 기능은 사용해야 한다.

 

 

먼저 이미지 파일로 재료들을 첨부하겠다.

 

logo.png (이 이름 그대로 images폴더에 넣어준다.)
임의로 가이드라인을 잡은 헤더부분


작업 전

 

밑의 작업 후 와 비교해볼 때 어떤 속성을 적용해야 할지 생각해보자

 

1. header의 공간이 생겼다, 배경색이 적용되었다.

=> 기본 공간, margin, padding을 조사하고 값을 적용해 주고 background색을 지정해준다.

 

2. 공간들의 위치를 지정해 준다.

=> margin 또는 padding으로 가능한 것은 그것으로 지정해준다.

그 외의 것은 position, line-height 등을 적용해준다.

 

3. 텍스트 색, 크기, 간격이 적용되었다. 

=> color, font-size, letter-spacing을 지정해준다.

 

4. 메뉴들마다 마우스를 갖다 대면 글자색, 밑줄, 배경색이 바뀐다.

=> a:hover를 이용하여 바꾸어 주도록 한다.

color, text-decoration, background-color 

 

 

 

 


작업 후

 

원본과 비교

 

 

 


id값 지정 및 선택자 적기

 

html의 header부분

<div id="headerWrap"> <!--header를 중앙 정렬하기위해 div태그로 감싸준다.-->
    <header id="header"><!--header에 id header값을 주었다. -->
      <h1 id="logo"><a href="https://clova.ai/ko">Naverclova</a></h1><!--id logo -->
      <nav id="gnb"><!--id gnb 메뉴 네비게이션-->
        <h2 class="hidden">menu</h2>
        <ul>
          <li><a href="https://clova.ai/ko/aisolutions/">기술 &#183; 솔루션</a></li>
          <li><a href="https://clova.ai/ko/products/">제품</a></li>
          <li><a href="https://clova.ai/ko/platform/">플랫폼</a></li>
          <li><a href="https://clova.ai/ko/ko-partner.html">파트너</a></li>
          <li><a href="https://clova.ai/ko/research/research-areas.html">리서치</a></li>
        </ul>
      </nav>
      <nav id="customermenu"><!--id customermenu 2번째 메뉴(고객센터처럼 따로 있는 메뉴들) -->
        <h2 class="hidden">customer menu</h2>
        <ul>
          <li id="bis"><a href="https://www.ncloud.com/product/aiService" target="_blank">
              Biz Start</a></li><!--id bis 서로 다른 크기를 가지므로 나눠준다. -->
          <li id="biz"><a href="https://www.navercorp.com/naver/proposalRegister?joinSiteCd=NVR&joinTypeCd=CLP#proposalGuideLine" target="_blank">비즈니스 문의</a></li><!--id biz -->
        </ul>
      </nav>
    </header>
  </div>

css의 header부분

/*선택자들을 모두 적었다가 안쓰는 부분은 지워주는 방향이 좋다.*/
/*header전체부분*/
#headerWrap {} 
#header {}
/*logo*/
#logo {}
#logo a {}
/*gnb*/
#gnb {}
#gnb ul {}
#gnb ul li {}
#gnb ul li a {}
#gnb ul li a:hover {}
/*customermenu*/
#customermenu {}
#customermenu ul li {}
#customermenu ul li a {}
#bis a {}
#biz a {}
#bis a:hover {}
#biz a:hover {}

 

 

1. header의 공간이 생겼다, 배경색이 적용되었다.


작업 전/후

작업 후가 더 엉망진창으로 보이지만 공간이 설정된 것이다.

/*header전체부분*/
#headerWrap {  width: 100%;  height: 86px;  background: rgba(0, 0, 0, 0.4);}
#header {  width: 1140px;  height: 100%;  }
/*logo*/
#logo {  width: 145px;  height: 22px;}
#logo a {  display: block;  width: 145px;  height: 22px;
background: url(images/logo.png) no-repeat;}
/*gnb*/
#gnb {  width: 602.98;  height: 86px;}
#gnb ul {}
#gnb ul li {}
#gnb ul li a {}
#gnb ul li a:hover {}
/*customermenu*/
#customermenu {}
#customermenu ul li {}
#customermenu ul li a { }
#bis a {  display: block;  width: 48px;  height: 14px; }
#biz a {  display: block;  width: 68.531px;  height: 14px;}
#bis a:hover {}
#biz a:hover {}

작업 내용(모든 공간들은 원본 페이지에서 참고할 수 있다.)

  1. width와 height를 사용하여 기본 공간을 지정해 주었다. (a요소에 공간을 지정하려면 display:block;잊으면 안 된다.)

  2. background를 사용하여 이미지가 들어갈 부분(logo)은 경로를 색이 들어갈 부분은 색 단위를 통해 색 코드를 넣어준다.

 

2. 공간들의 위치를 지정해 준다.


작업 후

 

이제 좀 형태를 띠는 것 같아 보인다. 

#headerWrap {
  width: 100%;
  height: 86px;
  background: rgba(0, 0, 0, 0.4);
}

#header {
  position: relative;
  width: 1140px;
  height: 100%;
  margin: 0 auto;
}

/*logo*/
#logo {
  float: left;
  width: 145px;
  height: 22px;
  margin-top: 32px;
}

#logo a {
  display: block;
  width: 145px;
  height: 22px;
  background: url(images/logo.png) no-repeat;
}

/*gnb*/
#gnb {
  overflow: hidden;
  width: 602.98;
  height: 86px;
}

#gnb ul {
  margin-left: 123px;
}

#gnb ul li {  float: left;}

#gnb ul li a {
  display: block;
  padding: 34px 36px;
}

#gnb ul li a:hover {}

/*customermenu*/
#customermenu {
  position: absolute;
  top: 32px;
  right: 0;
}

#customermenu ul li {
  float: left;
}

#customermenu ul li a {}

#bis a {
  display: block;
  width: 48px;
  height: 14px;
  padding: 8px 13px;
}

#biz a {
  display: block;
  width: 68.531px;
  height: 14px;
  padding: 8px 13px;
  margin-left: 8px;
}

#bis a:hover {}

#biz a:hover {}

작업 내용

  1. margin값을 찾아서 각 요소에 적용해 주었다.

    (header에는 margin:0 auto;를 주어 중앙 정렬이 되게 했다.)

    (bis와 biz사이에 8px만큼의 공간이 있어 margin-left값을 주었다.)

  2. padding값을 찾아서 각 요소에 적용해 주었다.

    (gnb의 각 a 요소들은 내부 공간을 가지고 있다.)

    (마찬가지로 bis, biz도 내부 공간을 주었다.)

  3. float를 사용하여 가로 정렬해주도록 한다.

    (로고와 각 메뉴의 li요소에 float:left;를 주어 가로 정렬하도록 한다.

    float를 해제해야 할 경우 부모 요소에 overflow:hidden;을 적용하여준다.)

  4. position을 사용하여 복잡한 위치를 지정해준다.(customermenu)

    (customermenu의 위치는 header의 오른쪽에 딱 붙어 있으며 위로 32px만큼 떨어져 있다.)

 

3.&4. 텍스트 색, 크기, 간격이 적용되었다.  메뉴들마다 마우스를 갖다 대면 글자색, 밑줄, 배경색이 바뀐다.


작업 후

header부분이 완성되었다.

/*header전체부분*/
#headerWrap {
  width: 100%;
  height: 86px;
  background: rgba(0, 0, 0, 0.4);
}

#header {
  position: relative;
  width: 1140px;
  height: 100%;
  margin: 0 auto;
}

/*logo*/
#logo {
  float: left;
  width: 145px;
  height: 22px;
  margin-top: 32px;
}

#logo a {
  display: block;
  width: 145px;
  height: 22px;
  background: url(images/logo.png) no-repeat;
  text-indent: -9999px;
}

/*gnb*/
#gnb {
  overflow: hidden;
  width: 602.98;
  height: 86px;
}

#gnb ul {
  margin-left: 123px;
}

#gnb ul li {
  float: left;
  font-size: 16px;
  font-weight: 700;
}

#gnb ul li a {
  display: block;
  padding: 34px 36px;
  letter-spacing: -2px;
  color: rgba(255, 255, 255, 0.6);
}

#gnb ul li a:hover {
  text-decoration: underline;
  color: #fff;
}

/*customermenu*/
#customermenu {
  position: absolute;
  top: 32px;
  right: 0;
}

#customermenu ul li {
  float: left;
}

#customermenu ul li a {
  border: 1px solid #fff;
  border-radius: 3px;
  color: rgba(255, 255, 255, 0.7);
  font-size: 12px;
  white-space: nowrap;
}

#bis a {
  display: block;
  width: 48px;
  height: 14px;
  padding: 8px 13px;
}

#biz a {
  display: block;
  width: 68.531px;
  height: 14px;
  padding: 8px 13px;
  margin-left: 8px;
  text-indent: -3px;
}

#bis a:hover {
  color: #000;
  background-color: #fff;
}

#biz a:hover {
  color: #000;
  background-color: #fff;
}

작업 내용

  1. color와 font-size를 이용해 각각의 요소에 적용해 주었다.

  2. logo의 경우 영역은 필요하지만 텍스트가 있으면 배경 이미지와 겹친다.

    (text-indent:-9999px;을 이용해서 텍스트를 화면 밖으로 멀리 날려 버린다.)

  3. 원본의 gnb 텍스트들은 간격이 좁다 (폰트가 적용되어서 그런 것 같다.)

    (우리는 폰트가 따로 없으므로 일단은 letter-spacing:-2px;로 간격을 좁혀주었다.)

  4. biz의 텍스트는 가운데가 아니라 살짝 오른쪽으로 치우쳐져 있다.

    (text-indent:-3px;을 이용해서 왼쪽으로 옮겨주었다.)

  5. border를 사용해서 customermenu에 테두리를 주었다.

    (border: 1px solid #fff;테두리를 주고 border-radius:3px; 모서리를 둥글게 했다.)

  6. a:hover선택자를 이용해서 마우스를 갖다 대었을 때 배경이나 글자색이 변경되도록 했다.

 

header부분을 마무리해 보았다. 

 

 

공감 또는 훈수 부탁드립니다.(내가 그걸 모를 꺼 같니?? 라던가 응 아니야~이거야~ 해주세요) 

 

그럼~ 앙 제바

HTML 문서 구조를 잡았다면 CSS의 초기화 및 선택자를 입력해 주어야 한다.

 

먼저 CSS를 초기화해 주도록 하자

 

CSS초기화

초기화를 해 주는 이유는 간단하다.

 

기본 값을 없애주기 위해서이다. 

 

만약 기본값이 있다면 우리는 그 공간에 대해 추가 코드를 작성해야 할 것이다. 

 

그것을 미리 없애주고 시작하는 것이다. 

 

 

1. 딱 붙이기(공간 없애기)

CSS속성을 설명할 때 기본 요소에 공간이 조금씩 들어가 있다고 했었다.


작업 전

 

 

구조화만 된 html문서를 열어보면 왼쪽 이미지처럼 멸치 뼈 같이 보일 것이다.

 

딱 붙이기 작업은 멸치 뼈 사이사이 보이는 공간들을 위로 딱 붙여주는 것이다.

 

우리가 가지고 있는 요소들 중 공간을 가진 요소들은 

 

body, h시리즈(h1, h2...) p, ul 정도가 있다. 

 

이 요소들의 공간을 줄이기 위해선?

 

CSS에 그 속성인 margin:0; padding:0;을 적용해준다.

 

body, h1, h2, h3, h4, h5, h6, p, ul {
	margin: 0; padding: 0; 
}

 

 

 

 

 


작업 후

 

 

 

 딱 붙이기 작업을 통해 이렇게 공간을 제거해 주었다.

 

왼쪽 이미지의 길이를 위의 이미지와 비교해 보면

 

공간을 제거해 준 것을 확연하게 느낄 수 있다. 

 

하지만 자세히 보면 아직도 공간이 남아 있는 것처럼 보인다

 

그것은 대문자나 i와 같이 다른 글자보다 높이가 긴 글자를 위해서 남겨진 것이다.

 

※다른 사이트를 카피하거나 다른 구조를 갖추었다면 초기화할 대상이 달라질 수 있다.

 

 

 

 

 

2. 초기화 스타일 

 

딱 붙이기 같은 경우는 기본적으로 거의 모든 페이지가 해 준다.

 

하지만 나머지 초기화는 각자의 스타일이 있다.

 

우리는 초기화로 몇 가지를 더 해볼 것이다.

 

  1. 하이퍼링크의 밑줄 없애기 및 글자색 변경
  2. 리스트 앞의 특수문자 검은 동그라미 없애기
  3. 실제 페이지에 안 보이는 글자 숨기기(접근성이나 아웃라인을 위해 존재해야 함)
  4. 기울어있는 글자 바로잡기

 

1. 하이퍼링크의 밑줄 없애기 및 글자색 변경


작업 전

 

 

왼쪽 이미지처럼 하이퍼링크를 걸게 되면 

 

클릭 전에는 파란색 클릭 후에는

 

보라색으로 글자색이 정해지고 

 

밑줄이 생긴다.

 


작업 후

 

 

선택자: 하이퍼링크의 요소인 a에 CSS속성을 적용한다.

 

CSS속성: text-decoration: none; (글자에 밑줄을 지정하는 속성)

                   color: #000;                        (글자에 색을 지정하는 속성)

a {
  text-decoration: none;
  color:#000;
}

 

2. 리스트 앞의 특수문자 없애기(검은 동그라미)


작업 후

 

 

1번 작업 후 이미지가 2번 작업 전 이미지이다.

 

선택자: 리스트 요소인 li(ul이 아니다 ul은 li를 감싸는 태그)

 

CSS속성: list-style:none; (리스트의 스타일을 지정하는 속성)

ul li {
  list-style: none;
}

 

 

3. 실제 페이지에서는 안 보이는 글자 숨기기


작업 전

 

 

임의로 빨간 밑줄을 그은 본문, 슬라이더 메뉴는 

 

우리가 아웃라인을 위해 임의로 정해준 제목이기 때문에

 

실제 네이버 클로바 페이지에선 보이지 않는다.

 

있지만 보이지 않게 해야 한다.

 

선택자를 위해 class값을 준다. (이름은 hidden으로 하겠다.)

 

로고의 경우(영역은 있지만 글자를 안 보이게) text-indent속성을 사용한다

 

하지만 지금처럼 글자도 영역도 안보이게 하는 것은 어떤 속성을 사용해야 할까? 

 

바로 위치 속성인 position을 사용하는 것이다.

.hidden {
  position: absolute;
  left: -9999px;
}

left로 -9999px만큼 주게 된다면. hidden을 가진 모든 요소들은 화면 밖 저 멀리로 날아가 버린다.


적용 후

 

 

이렇게 사라진 것을 확인할 수 있다.

 

class="hidden"을 준 태그는 "menu", "customer menu", "본문", "슬라이더 메뉴", "footer"를 텍스트로 가진 h2, h3요소이다.

 

 

 

4. 기울어있는 글자 바로잡기


작업 전

 

결과를 보여 주기 위해 footer를 임의로 넣고 빨간 밑줄을 그었다.

 

footer의 address요소가 가지고 있는 텍스트들은 기본 값이 italic이라서 살짝 기울어 있다.

 

따라서 선택자는 address이고 font-style:normal;속성을 적용해준다. 

address {
  font-style: normal;
}

작업 후

 

 

글자들이 똑바로 잡힌 것을 볼 수 있다.

 

이렇게 초기화를 모두 해 보았다. 

 

초기화 값은 서브 페이지에서도 사용될 수 있으므로 잘 알아놓는 것이 좋다.

 

다음장에서는 header부분에 대해 다뤄보도록 하겠다.

 

 

 

공감 또는 훈수 부탁드립니다.(내가 그걸 모를 꺼 같니?? 라던가 응 아니야~이거야~ 해주세요) 

 

그럼~ 앙 제바

CSS속성

 

글자

font로 시작하는 속성

: 텍스트의 글꼴, 크기 등 텍스트 스타일을 수행하는 속성들

 

text로 시작하는 속성 

: 텍스트의 정렬, 텍스트 변환 등과 같은 텍스트 조작을 수행하는 속성들

 

font

 

font-style: 이탤릭체 등의 글꼴 스타일 지정

#normal {
      font-style: normal;
    }
#italic {
    font-style: italic;
    }

font-weight: 글자의 두께

#lighter {
      font-weight: 100;
    }
#bolder{
      font-weight: 900;
    }

100-900까지 있으며 얇게서부터 굵게 간다.

 

  • 100(lighter, 얇게)

  • 400(normal, 보통)

  • 700(bold, 굵게)

  • 900(bolder, 더 굵게)

 

font-size: 글자의 크기

 

글자의 크기를 숫자 뒤에 단위(px, %, em 등)를 통해 지정할 수 있다.

 

※스마트폰과 태블릿이 나오면서 반응형 단위인 vw(브라우저 넓이), vh(브라우저 높이)를 사용한다.

 

 

font-family: 글꼴을 지정

#sans-serif {
      font-family: sans-serif;
    }

글꼴의 이름을 값으로 가진다.

 

※웹폰트: 웹 사용자에게도 동일한 글꼴을 보여준다.(설치 및 설정 없이)

/*임의의 폰트 설정*/
@font-face{
  font-family: 임의의 폰트 이름;
  src: url(폰트의 경로);
}
/*폰트 적용*/
적용할 태그 명{
  font-family: 위에 적은 폰트 이름;
}

 

 

순서대로 한꺼번에 사용할 수 있다.

/*각각 사용 예시*/
#text1 { font-size: 19px }
#text2 { font-weight: bold }
#text3 { font-style: italic }
#text4 { font-family: "궁서" }
/*한꺼번에 사용*/
#text4{ font: italic bold 20px serif; }/*스타일 굵기 크기 글꼴 순으로 사용*/

 

 

text

text-decoration: 글자에 선을 넣어주는 속성

#line-through {
      text-decoration: line-through;
    }
#overline{
      text-decoration: overline;
    }
#underline{
      text-decoration: underline;
    }

 

text-align: 글자를 정렬한다.

#left {
      text-align: left;/*좌로 정렬*/
    }
#right{
      text-align: right;/*우로 정렬*/
    }
#center{
      text-align: center;/*중앙 정렬*/
    }

 

보통 블락 요소 내의 공간에서 text를 정렬한다.

 

인라인 요소는 공간 자체가 텍스트에 딱 맞기 때문에 정렬이 무의미하다.

 

 

 

 

 

 

 

 

 

 

vertical-align: 인라인 요소들의 수직 정렬에 사용된다.

img{
  vertical-align: 100px;
}
span{
  vertical-align: top;
}

인라인 요소들 간의 수직 정렬이므로 블락요소에 하면 효과가 없다.

 

Ex) 어떤 블락 요소를 수직으로 옮기려고 시도한다면 실패할 것이다.

 

 

 

 

 

 

 

 

 

 

 

 

text-indent: 문단의 들여쓰기를 하는 속성

p {
  text-indent: 1em;
 }

※text-indent속성으로 영역은 필요하고 접근성에도 필요하지만 텍스트를 없애고 싶은 경우

  text-indent:-9999px;을 해주면 화면 저 멀리 사라진다.

 

 

 

text-transform: 대소문자를 지정할 수 있는 속성

p {
  text-transform: uppercase;/*대문자*/
}

※HOME 같은 경우 발음을 홈이 아닌 H O M E로 따로 발음하기 때문에 소문자로 넣어야 하지만 대문자로 넣고 싶은 경우에 text-transform을 활용해준다.(접근성과 밀접한 관련이 있다.)

 

 

 

line-height: 줄 높이를 설정하는 속성

 

기본적으로 줄과 줄 사이의 간격이 있다. 그것을 설정할 수 있는 속성이다.

 

#px {
        line-height: 25px;
      }
#em {
        line-height: 1.6em;
      }

 

 

letter-spacing, word-spacing각각 글자, 단어의 공간에 대한 속성이다.

 

숫자 뒤에 단위를 적어서 사용하고 글자마다, 단어마다 공간을 넓히거나 좁힐 수 있다.

 

 

 

white-spacing: 줄 바꿈에 대한 속성이다.

 

normal: 기본 값. 자연스럽게 줄 바꿈이 일어난다.

 

nowrap: 줄바꿈이 일어나지 않는다. 심지어 브라우저 밖으로 가도 일어나지 않는다. <br/>을 사용해도 일어나지 않는다.

 

pre: 브라우져 밖으로 가도 줄 바꿈을 쓰지 않는다면 줄 바꿈이 일어나지 않는다. 사용하면 일어난다.

 

pre-linepre: 띄어쓰기의 공백은 보여지지 않고(물론 글 내에서 띄어 쓰는 것은 보임) 줄 바꿈은 일어난다. 

 

pre-wrappre: 박스를 벗어나지 않는 pre라고 볼 수 있다.

 

 

overflow

마지막으로 배경과 텍스트에서 공통적으로 사용할 수 있는 overflow속성에 대해 알아보자

 

overflow-visible : 기본 값. 넘칠 경우 컨텐츠가 박스 밖으로 보인다.

 

overflow-hidden : 박스 밖으로 넘치는 부분은 잘려서 보이지 않는다.

 

overflow-scroll : 스크롤바가 추가되어 스크롤링할 수 있다. (가로, 세로 모두 추가.)

 

overflow-auto : 콘텐츠 양에 따라 스크롤바를 추가할지 자동으로 지정한다.(추가하는 방향으로 자동 추가됨.)

 

 

※텍스트 박스에도 이 속성을 사용하지만 레이아웃을 짤 때 

   overflow:hidden;을 통해 float 값을 해제하기 위해서도 사용한다.

 

 

그 외에도 많은 CSS속성들이 있다. 

 

그 외의 속성들은 실습(홈페이지 카피)을 통해 알아보도록 할 것이다.

 

 

 

 

 

공감 또는 훈수 부탁드립니다.(내가 그걸 모를 꺼 같니?? 라던가 응 아니야~이거야~ 해주세요) 

 

그럼~ 앙 제바

 

'IT아카데미 > CSS' 카테고리의 다른 글

홈페이지 만들기 - CSS[5]  (0) 2020.05.12
홈페이지 만들기 - CSS[4]  (0) 2020.05.11
홈페이지 만들기 - CSS[3]  (0) 2020.05.09
홈페이지 만들기 - CSS[2]  (0) 2020.05.07
홈페이지 만들기 - CSS[1]  (0) 2020.05.06

CSS속성

 

위치

위치에 관한 속성은

 

    • 배경 또는 공간의 위치에 관련된 속성들

    • background, position, float, overflow

    • 텍스트의 정렬, 위치에 관련된 속성들

    • text-align, vertical-align, line-height, text-indent, overflow

 

이렇게 나눈 기준은 block, inline 요소이다.

 

보통 배경 또는 공간은 가지는 요소들은 block요소가 많다.

 

텍스트를 가지는 요소들은 inline요소가 많다.

 

inline요소가 공간을 가지도록 할 수도 있는데 display: block; 을 사용하는 것이다.

 

이는 inline요소를 block요소처럼 보이게 만들어 공간을 부여할 수 있다.

 

텍스트의 위치 속성은 다음 장에서 알아보도록 하고 이번에는 배경의 위치 속성을 알아보자

 

먼저 background(배경) 속성에 대해 알아보자

 

background

CSS에서 이것 빼면 시체라고 할 정도로 background속성은 정말 중요하다.

 

background와 관련된 많은 속성과 속성 값이 있다.

 

그중 색, 이미지, 이미지의 반복 여부, 위치, 위치의 고정여부에 대해서 알아보자

 

background-color: 배경 색에대한 속성이며 색 단위를 선택해 색을 넣으면 페이지에 나타난다.

 

background-image: 단위URL을 통해 이미지의 경로를 적어주면 이미지가 나타난다.

 

background-repeat: 페이지에 이미지의 반복 여부를 결정하는 속성이다.

 

background-position: 이미지의 위치를 설정하고 x축, y축 순의 방향으로 px이나 %를 이용한다.

                             

background-attachment: 이미지의 위치를 고정, 스크롤, 로컬로 나타낼 수 있으며 

https://developer.mozilla.org/ko/docs/Web/CSS/background-attachment 

여기서 확인해 각각의 속성값을 확인해 볼 수 있다.

/*예시*/
body { 
/*각각 쓴 경우*/
    background-color: #262a25;
    background-image: url(images/banner2.png);
    background-repeat: no-repeat;
    background-position-x: right;
    background-position-y: top; 
    background-position: 50% 0; /* 하나의 값이 생략될 경우 center로 적용 */
    background-attachment: fixed;
/*합쳐서 쓴 경우*/    
    background: #262a25 url(images/banner2.png) no-repeat 50%(가로) 0(세로) fixed;
}

 

배경 안의 이미지의 위치는 background-position으로 설정할 수 있다.

 

그렇다면 배경 자체의 위치는 어떻게 설정할까?

 

바로 position 속성이다.

 

 

position

가장 쉽게 공간의 위치를 설정할 수 있는 속성이다.

 

단순 구조 보다는 복잡한 레이아웃 구조를 위해 사용되고 있다. 

 

단, 모든 공간을 position으로 설정해 버린다면 페이지 수정 요청이 들어온다면 새로 만드는 것이 빠를지도 모른다.

 

position의 속성 값은 static(정적), relative(상대적), absolute(절대적), fixed(고정적)이 있다.

 

숫자에 -(마이너스)를 사용할 수 있으며 이는 '반대 방향으로 숫자만큼'의 의미이다.

 

 

static: 기본 값으로 위치가 지정되었다기보단 공간이 원래 가지고 있는 위치이다.

.static {
  position: static;
}

 

 

relative: 상대적으로 위치를 지정할 수 있으며, 이 말은 기준이 될 요소를 지정해야 한다는 뜻이다.

.relative1 {
  position: relative;
}
.relative2 {
  position: relative;
  top: -20px;
  left: 20px;
  width: 500px;
}

relative1의 position:relative; 는 static과 동일하게 적용된다. ( 만일 relative2처럼 방향 값을 지정한다면 상황은 달라진다.)

 

중요한 것은 relative2의 속성들인데 position: relative; 를 적용 후 top, right, bottom, left를 사용하여 위치 값을 지정한다. 

 

relative는 원래 위치를 기준으로하여 방향 값을 적용하는 방법이다.

 

 

 

absolute: 절대적으로 위치를 지정할 수 있으며, 이 말은 기준이 될 요소가 정해져 있다는 뜻이다.

.absolute{
  position: absolute;
  top: 40px; left: 40px;
}

 

기준이 되는 요소는 위치 지정을 한 부모 요소(static이 아닌 다른 값을 가지고 position속성을 사용한 다른 요소)이다.

 

만일 그런 부모 요소가 없다면 브라우져의 왼쪽 맨 위를 기준으로 한다.

 

마찬가지로 방향값을 적용하여 사용한다.

 

fixed: 배경고정인 background-attachment: fixed;와 비슷하지만 배경이 아닌 요소를 고정한 다는 점에서 다르다.

 .fixed {
        width: 200px;
        position: fixed; /* 브라우저 창 기준 */
   }

스크롤에 관계없이 브라우저 위치에 고정되어있을 수 있다.

 

sticky: relative처럼 작동하다가 스크롤에 따라 fixed처럼 작동하는 유용한 속성 값.

 

.sticky{
  position: sticky;
  top: 20px;
}

 

 

복잡한 레이아웃 구조를 만드는데 필요한 position속성을 알아보았다.

 

그렇다면 단순 구조의 위치를 위한 속성은?

 

바로 float속성이다. 

 

 

float

단순 구조 뿐 아니라 가로로 나열하는데도 사용되는 float는 '동동 뜨다'라는 의미를 가지고 있다.

 

쉽게 남는 영역을 채워주는 속성으로 이해할 수 있다.

 

원래 이미지와 텍스트의 배치 용도로 사용했지만 레이아웃 용으로 많이 사용된다.

 

우리는 앞서 HTML 문서의 구조화를 배운 바 있다.

 

Naver를 예로 들면 각각의 구조들이 자리에 알맞게 들어가 있는 모습을 볼 수 있다

 

이것이 바로 float를 이용한 것이다.

 

속성 값으로는 left, right, none 등이 있다.

 

지금 보여지는 것처럼 왼쪽에 이미지를 두고 

글을 쓸 수 있다. 

 

float:left;를 사용하여 이렇게 만들 수 있다.

 

float:right;는 그 반대이다.

 

이 이미지는 레이아웃에 색을 입혀 나타낸 것으로 위에서부터 헤더, 메인, 섹션, 어사이드, 푸터이다.

 

이렇게 레이아웃을 만들기 위해서는 float를 어느 부분에서 해제해야 할 때가 있다.

 

해제하지 않으면 밑의 그림과 같이 푸터가 사이의 공간으로 들어와 버리게 된다.

 

이럴 때 float를 해제하는 방법은 다음과 같다.

 

  float를 적용 후 해제하는 방법 4가지


1. float를 적용한 요소의 부모가 없는 경우


다음에 오는 요소에게 clear를 적용한다.


2. float를 적용한 요소의 부모가 있는(container) 경우


  2-1 부모 요소에 height를 적용(하지만 높이가 고정됨)


  2-2 부모요소에 overflow를 적용(hidden/auto)


  2-3 부모 요소에게 ::after 가상 클래스(전후 문자 선택자)를 적용하여
  {content:""; display: block; clear: both;}의 값을 준다.

  예제를 많이 다뤄봐야 각각의 경우에 대해 알 수 있다.

 

 

여기서 나온 overflow속성은 텍스트와도 관련이 있다.

 

 

공감 또는 훈수 부탁드립니다.(내가 그걸 모를 꺼 같니?? 라던가 응 아니야~이거야~ 해주세요) 

 

그럼~ 앙 제바

'IT아카데미 > CSS' 카테고리의 다른 글

홈페이지 만들기 - CSS[6]  (0) 2020.05.13
홈페이지 만들기 - CSS[4]  (0) 2020.05.11
홈페이지 만들기 - CSS[3]  (0) 2020.05.09
홈페이지 만들기 - CSS[2]  (0) 2020.05.07
홈페이지 만들기 - CSS[1]  (0) 2020.05.06

CSS 속성

공간

 

제일 먼저 html태그와 body태그의 기본적인 공간부터 margin, width, hieght, padding, border속성에 대해 알아보자

 

왜 html태그와 body태그의 기본적인 공간을 알아야 하느냐 

 

html태그는 전체의 공간을 차지하고 있다.

 

body태그는 그 중 내용이 담길 공간을 차지하고 있는데 html과 body 사이에 조금의 margin값이 반영되어있다.

 

그렇다면 margin값은 무엇인가?

 

margin

'바깥 쪽 여백'을 의미하는 margin값은 숫자 뒤에 단위를 넣어 사용할 수 있다.

 

단위는 (px, %, em 등  크기 단위를 말한다.)

 

공간이 있다면 방향도 존재한다.

 

margin값은 top, right, bottom, left의 방향 값을 가진다.

 

top부터 시계방향순으로 한꺼번에 적을 수 있다. 

 

/*예시*/

div {
  /*각각*/
  margin-top:50px;
  margin-right:0;
  margin-bottom:0;
  margin-left:50px;
  /*한꺼번에*/
  margin:50px 0 0 50px;
}

 

margin은 기본 여백을 설정하는 속성이라면 태그들의 기본 공간을 설정하는 속성은?

 

바로 width(와이드: 넓이) height(하이트: 높이)이다.

 

width, height

margin과 마찬가지로 숫자 뒤에 단위를 사용하여 나타낼 수 있다.

 

width는 가로의 길이

 

height는 세로의 길이

 

이미 방향이 정해져 있으므로 둘은 따로 방향값을 가지지는 않는다.

 

/*예시*/
div{
  width:50px; 
  height:50px;
}

 

이렇게 공간을 설정하고 마음이 바뀌면 width와 height를 계속해서 바꿔줘야 할까?

 

만약 그렇지 못한 상황이 있을 수 있다.

 

그렇다면 공간을 추가할 수 있는 속성은 무엇일까?

 

바로 padding속성이다.

 

 

padding

'안 쪽 여백'을 의미하는 padding도 마찬가지로 숫자 뒤에 단위를 사용하여 나타낸다.

 

어느 방향으로 공간을 추가할지 정해야 하기 때문에 방향 값이 필요하다.

 

padding값도 top, right, bottom, left의 방향 값을 가진다.

 

top부터 시계방향 순으로 한꺼번에 적을 수 있다. 

 

/*예시*/

div {
  /*각각*/
  padding-top:50px;
  padding-right:0;
  padding-bottom:0;
  padding-left:50px;
  /*한꺼번에*/
  padding:50px 0 0 50px;
}

 

width와 height, padding으로 이루어진 공간들을 구분하기 위한 속성

 

바로 border이다.

 

 

border

'테두리'속성인 border값도 마찬가지로 숫자 뒤에 단위를 사용한다.

 

공간 관련 속성에 테두리를 왜 뜬금없이 넣었는지 궁금할 수 있다.

 

이 테두리의 px값도 공간을 차지하기 때문이다!!(ㄷㄷㄷㅈ)

 

border도 어느 쪽에 테두리를 넣을지 선택하기 위해 방향 값을 가진다.

 

margin이나 padding처럼 방향 모두를 한꺼번에 쓸 수 없다.

 

하지만 border는 기본적으로 테두리의 굵기, 형태, 색 순으로 써준다.(이렇게 써주면 사각형으로 테두리가 나타난다.)

 

/*예시*/
div{
  /*기본 공간 설정을 해 주지 않으면 태그가 가진 공간으로 테두리를 형성*/
  width: 40px;
  height: 50px;
  border: 10px solid #000;/*굵기 형태 색*/
  }

 

확인

 

각각의 값들은 페이지에서 마우스 우클릭 후 검사를 클릭하면 이렇게 나타난다.(크롬 기준)

 

제일 안 쪽의 파란색 부분이 각각 width와 height부분이다.

적혀 있듯이 다음 바깥의 초록 부분은 padding, 구분해주는 border(테두리), 주황색인 margin속성이다.

position은 다음 장인 위치에서 다루도록 하겠다.

 

※여기서 꿀팁

margin과 padding 둘 다 여백이라서 헷갈릴 여지가 있다.

하지만 직접 써보면 알 수 있듯, margin은 width, height의 바깥쪽 부분을 padding은 안쪽 부분에 관여한다.

 

 

공감 또는 훈수 부탁드립니다.(내가 그걸 모를 꺼 같니?? 라던가 응 아니야~이거야~ 해주세요)

 

그럼~ 앙 제바

'IT아카데미 > CSS' 카테고리의 다른 글

홈페이지 만들기 - CSS[6]  (0) 2020.05.13
홈페이지 만들기 - CSS[5]  (0) 2020.05.12
홈페이지 만들기 - CSS[3]  (0) 2020.05.09
홈페이지 만들기 - CSS[2]  (0) 2020.05.07
홈페이지 만들기 - CSS[1]  (0) 2020.05.06

이제까지 적었던 {CSS속성}을 알아보자!

 

CSS속성도 마찬가지로 방대한 양의 속성과 그 값들이 있다.

 

먼저 사이트를 통해 얼마나 많은 속성들이 있는지 알아보자

 

https://developer.mozilla.org/ko/docs/Web/CSS/Reference

 

CSS 참고서

CSS 참고서를 이용해 알파벳 순서로 정리한 모든 표준 CSS 속성, 의사 클래스, 의사 요소, CSS 자료형과 @규칙을 찾아보세요. 또한 유형별로 정리한 CSS 선택자와 주요 CSS 개념도 찾아볼 수 있습니다.

developer.mozilla.org

모질라에서 제공하는 css참고서이다. 

 

들어가보면 알겠지만 외우려고 생각하면 벌써 머리아프고 난리다 난리.

 

그래서 나는 임의로 크게 세 가지로 나누어 보았다.

 

CSS의 특징을 중심으로 나눴으며 이는 내 개인적인 견해이다.

 

하지만 CSS를 이해하는데 도움이 되었으면 한다.

 

먼저 보실 분들은 클릭하셔서 볼 수 있다.

 

하지만 이에 앞서 단위에 대해 설명하고자 한다.

 

단위

우리가 사용하는 cm, m 등의 크기 단위처럼 CSS에도 단위가 있다.

 

크기단위와 색 단위로 나뉘며 각각의 속성값에 사용된다.

 

크기단위는 px(pixel), pt(point), %(percent) 등이 있다.(CSS size unit, 또는 CSS 크기 단위로 검색)

 

단위마다 가지는 성질이 각각 다르고 쓰임도 다르다.

 

색 단위는 원래 영어 단어로 표현했으나 그것으로는 한계가 있기 때문에 나타났다.

 

색 단위는 hex, rgb, hsl 등이 있다.(CSS color picker로 검색)

 

단어가 아니라 코드로 그것을 표시한다.

 

참고로 url( );은 경로를 나타내는 단위이며 이미지를 넣을 때 자주 사용된다.

 

 

공간

우리가 볼 수 있는 웹 상의 페이지들은 모두 공간을 가지고 있다.

 

CSS는 공간이 없다면 사용할 수가 없다.

 

CSS속성들 중 배경, 테두리, 표 등은 모두 공간을 활용해야만 사용할 수 있다.

 

HTML의 각 태그들은 저마다의 공간을 가지고 있다.

 

이러한 태그들의 공간을 Box model이라고 한다.

 

css box model property으로 검색하면 그에 관한 속성들이 나온다.

 

 

위치

마찬가지로 공간이 있어야 위치를 활용할 수 있다.

 

예쁜 디자인을 적용하려는데 이상한 공간에 않기 위해서 위치 속성이 필요하다.

 

위치에 관련된 속성은 정렬이나 상대위치, 절대위치 등이 있다.

 

또 공간을 더하거나 빼어서 위치를 지정하는 방법도 있다. 

(하지만 모바일이나 태블릿으로 볼 경우에 길이가 달라져서 화면이 깨지는 경우도 있으므로 주의)

 

CSS placement model(CSS 배치 모델)으로 검색하면 그와 관련된 속성또는 설명이 나온다.

 

글자

HTML에 빠지지 않는 것이 바로 글자이다. 

 

글자가 보이지 않는 페이지도 있을 수 있다

 

하지만 접근성을 잘 보여주는 사이트라면 무조건 글자가 필요하다.

 

대표적으로 text와 font로 나눌 수 있다.

 

text는 글자, font는 글꼴로 이해하면 편할 것이다.

 

text에는 서식을 지정하는 속성들이 많고 font에는 글꼴, 크기처럼 디자인 쪽 계열이 많은 것 같다.

 

각각 CSS text property, CSS font property로 검색하면 그와 관련된 속성들이 나온다.

 

 

이렇게 크게 세가지로 나누어 보았다.

 

다음 장부터 우리는 세부적인 속성들에 대해 또 헷갈리는 부분을 짚어보도록 하자

 

 

※ 블로그를 작성하면서 HTML문서와 많은 관련이 있다는 것을 알게 되었다.

블로그도 마찬가지로 페이지이며 HTML 문서이다.

오른쪽의 그림과 같이 tistory에는 HTML모드라는 것이 있다.

HTML모드는 HTML문서로 블로그 포스팅을 할 수 있도록 한 것이다.

이번 포스트에도 HTML의 <a>를 이용하여 세 가지로 나눈 속성에 바로가기를 만들었다. CSS또한 사용이 가능하다. 외부파일을 만드는 방법은 아니지만 임베디드 방식은 사용할 수 있다. 이처럼 우리 주변에도 생각보다 HTML을 활용할 수 있는 공간이 많으니 참고하길 바란다.

 

 

공감 또는 훈수 부탁드립니다.(내가 그걸 모를 꺼 같니?? 라던가 응 아니야~이거야~ 해주세요) 

 

그럼~ 앙 제바

'IT아카데미 > CSS' 카테고리의 다른 글

홈페이지 만들기 - CSS[5]  (0) 2020.05.12
홈페이지 만들기 - CSS[4]  (0) 2020.05.11
홈페이지 만들기 - CSS[2]  (0) 2020.05.07
홈페이지 만들기 - CSS[1]  (0) 2020.05.06
홈페이지 만들기 - CSS[0]  (0) 2020.05.05

HTML 문서를 검사할 수 있는 validator 사이트에서 CSS도 검사가 가능하다.

 

https://jigsaw.w3.org/css-validator/

 

W3C CSS 검사 서비스

파일 업로드를 통한 검사 직접 입력을 통한 검사

jigsaw.w3.org

자주 검사를 해서 문법 오류를 내지 않도록 하자!

 

자, 어제에 이어서 선택자를 알아보자!

 

선택자

 

링크 선택자( 링크의 클릭 전과 후)

 

a:link { CSS속성 }           클릭 전

a:visited { CSS속성 }       클릭 후

이렇게 쓴다.

 

보통 클릭 전에는 파란색 클릭 후에는 자주색으로 보이는 링크에 색을 입히거나 폰트를 조정할 수 있다.

 

 

반응 선택자( 행동에 따른 반응의 대상을 선택 )

 

태그명:hover { CSS속성 }     마우스 포인터를 대고 있을 때

태그명:active { CSS속성 }     클릭을 안 떼고 계속 누르고 있을 경우

a 또는 input: focus { CSS속성} 탭 키로 포커싱을 할 경우

 

이렇게 쓰인다.

hover 선택자를 사용 해 마우스를 갖다 댈 시 크기를 키웠다.
active 선택자를 사용 해 클릭 시 색상을 빨강으로 바꾼다.
focus선택자를 사용해 클릭 또는 탭으로 포커싱할 경우 크기를 키웠다.

 

상태 선택자( 상태가 어떠한 경우의 태그를 선택 )

input:enabled { CSS속성 }      입력이 가능한 경우

input:disabled { CSS속성 }     입력이 불가능한 경우

input:selected { CSS속성 }     선택된 경우

input:checked { CSS속성 }     체크된 경우

input:focus { CSS속성 }         포커싱 된 경우

 

보통 form태그안의 input 태그의 특정 상태에 대해서 CSS를 적용할 수 있다.

 

 

구조 선택자( 형제태그끼리의 순번을 통해 선택)

  • 일반 구조 선택자

태그명:nth-child(순번){ CSS속성 } 이렇게 쓴다.

 

한 부모태그 안이 기준 (단 형태가 달라도 순번은 진행된다. p, p, div, p인 경우 마지막 p는 3번째가 아닌  4번째)

 

  • 형태 구조 선택자

태그명:nth-of-type(순번){ CSS속성 } 이렇게 쓴다.

 

태그의 형태가 기준 

 

 

시작 문자 선택자( 제일 처음 시작하는 문자를 선택 )

태그 명:: { CSS속성 } 이렇게 쓴다. (::는 콜론 두 번)

 

 

전후 문자 선택자( 태그를 선택 )

태그 명::before { CSS속성 }     문자 앞에 올 내용을 넣는 경우

태그 명::after { CSS속성 }        문자 뒤에 올 내용을 넣는 경우

이렇게 쓴다.

 

※ ::는 가상 요소이며, 별도의 class를 지정하지 않아도 한 거 같이 선택할 수 있다.

아직은 잘 모르니 최근에 nav태그에 자주 사용된다는 것만 알아두자

 

 

반응 문자 선택자( 문자들을 드래그 했을 때 나오는 색을 선택)

태그명::selection { CSS속성 } 이렇게 쓴다.

 

문자의 배경 색과 문자 색만 바꿀 수 있다.

 

 

부정 선택자( 태그를 선택 ) 

태그명not(조건){ CSS속성} 이렇게 쓴다.

 

조건이 아닌 모든 것을 선택한다.

 

 

 

이렇게 선택자를 나열 해 보았는데 솔직히 말하면 다 무의미하다.

 

나의 복습과 여러분이 대충 훑고 지나갔으면 좋겠다는 마음이 있다. 

 

노마드코더의 니꼬쌤과 생활코딩의 이고잉님께서는 이런 말을 하셨다.

 

코딩은 암기가 아니라 이해이다! 

 

직접 따라해보면서 또는 만들어보면서 모르는 게 있으면 찾아보는 게 중요하다.

 

찾는 방법과 찾을 키워드를 잘 선택해야한다.

 

다음은 이때까지 항상 나왔던 {CSS속성}들을 알아보는 시간이다.

 

공감 또는 훈수 부탁드립니다.(내가 그걸 모를 꺼 같니?? 라던가 응 아니야~이거야~ 해주세요) 

 

그럼~ 앙 제바

 

 

 

 

 

 

 

 

'IT아카데미 > CSS' 카테고리의 다른 글

홈페이지 만들기 - CSS[5]  (0) 2020.05.12
홈페이지 만들기 - CSS[4]  (0) 2020.05.11
홈페이지 만들기 - CSS[3]  (0) 2020.05.09
홈페이지 만들기 - CSS[1]  (0) 2020.05.06
홈페이지 만들기 - CSS[0]  (0) 2020.05.05

우리는 앞서 CSS의 사용방법을 크게 3가지로 알아보았다.

 

이번에 알아볼 것은 '선택자'로 CSS를 적용할 대상을 선택하는 것이다.

 

먼저 사이트 하나를 소개하도록 하겠다.

 

https://www.w3schools.com/cssref/css_selectors.asp

 

CSS Selectors Reference

CSS Selector Reference CSS Selectors In CSS, selectors are patterns used to select the element(s) you want to style. Use our CSS Selector Tester to demonstrate the different selectors. Selector Example Example description .class .intro Selects all elements

www.w3schools.com

이 사이트는 CSS 선택자의 종류를 알려준다.

 

모르면 여기서 찾아보면 된다!

 

우리는 이 중에서 자주 쓰이고 중요한 선택자들을 알아보도록 하겠다.

 

선택자

선택자는 보통  선언 블록 앞에 쓴다.

 

선언 블록은 CSS속성과 그 값을 넣을 수 있는 공간이고 { }로 쓴다.

 

인라인 사용방법에는 쓰이지 않고 임베디드나 외부 파일 사용방법에 쓰인다.

 

왜냐면 인라인은 벌써 그 태그를 선택하고 있기 때문이다.

 

2020/05/05 - [IT아카데미/CSS] - 홈페이지 만들기 - CSS [0]

 

홈페이지 만들기 - CSS[0]

이제까지 HTML로 문서의 구성과 내용의 기반을 다졌다 하지만 90년대 문서도 이거보다는 잘 나왔겠다 싶다 앞으로 할 CSS는 이런 90년대 문서를 2010년대 문서로 만들어 줄 수 있는 장치이다. 2020년��

jejehoon.tistory.com

여기에 사용 방법 3가지를 설명해 놓았다.

 

이 중 자주 쓰이는 선택자를 알아보자

 

모든 선택자( * )

* { CSS속성; } 이렇게 쓴다. ( *는 보통 shift 8을 누르면 나타난다.)

 

HTML 문서의 모든 태그를 선택할 수 있는 선택자이다. 

 

태그 선택자( 태그 명 )

태그 명 { CSS속성; } 이렇게 쓴다.

 

적용하고 싶은 태그를 선택할 수 있는 선택자이다.

 

그룹 선택자( 태그 여러 개 )

태그 1, 태그 2 { CSS속성; } 이렇게 쓴다.

 

여러 개의 태그를 선택하여 동시에 CSS속성을 적용할 수 있다.

 

후손 선택자( 태그 안에 태그들 )

태그 태그 안의 태그 { CSS속성; } 이렇게 쓴다.

/*html태그가 
<div>
 <h1>제목</h1>
 <p>문단</p>
</div>
이렇게 되어 있을 경우*/
/*h1이나 p태그를 선택하기위해서*/
div h1 {CSS속성} 이렇게 사용한다.

 

자식 선택자( 태그 안의 바로 밑 태그 )

부모 태그 > 자식 태그  { CSS속성; } 이렇게 쓴다.

 

위의 후손 선택자의 예시 중 div태그와 h1태그는 서로 부모 자식 관계이다.

 

p태그는 말하자면 손자이기 때문에 div > p 이런 식으로 쓸 수 없다.

 

형제(동위) 선택자( 같은 등급의 태그들 )

태그 + 태그 { CSS속성; } 또는 태그 ~ 태그{ CSS속성; } 이렇게 쓴다.

 

+는 같은 계층 중 어떤 것이던 가능하고 ~는 같은 계층 중 바로 밑의 태그이다.

 

※HTML 구조상의 계층과 문서상의 계층은 다르다.

구조적으로 <h1> <h2>는 h1이 상위이지만

<div> 안에 같은 계층으로 <h1><h2>가 있는 경우에는 같은 계층이다. 

 

기본 속성 선택자( 태그 안의 속성 )

태그[속성] 또는 태그[속성="속성 값"] { CSS속성;} 이렇게 쓴다.

 

태그의 속성을 선택하여 CSS를 적용할 수 있다.

 

속성 선택자는 7개가 있고 임의로 기본과 문자열로 나누었다. 

 

※태그[]를 띄어서 태그 []로 쓰게 된다면 후손 선택자로 인식되어 주의해야 한다.

또한 속성 값을 쓰게 된다면 속성 값이 정확히 일치해야 한다.

 

문자열 속성 선택자 또는 value 선택자( 태그 안의 속성의 값 )

value는 태그의 속성 값으로 꼭 value를 넣어야 하는 것이 아니다.

 

  • 태그[속성~="value"]  속성 값이 value를 포함한 태그를 선택(단어 기준 value abc는 선택되지만 valueword는 선택되지 않는다.)

 

  • 태그[속성|="value"]   속성 값이 value나 value-로 시작하는 태그를 선택(단어 기준 속성 값이 valueword이거나 value이면 적용. 하지만 value abc는 적용되지 않는다.)

 

  • 태그[속성^="value"]  속성 값이 value로 시작하는 태그를 선택 (문자열 기준 모두 적용)

 

  • 태그[속성$="value"]  속성 값이 value로 끝나는 태그를 선택(문자열 기준 모두 적용)

 

  • 태그[속성*="value"]  속성 값이 value가 포함된 태그를 선택(문자열 기준 모두 적용)

이렇게 5가지로 쓸 수 있다

 

id 선택자와 클래스 선택자( 태그 안의 id속성의 값, 클래스 속성의 값 )

#id명 { CSS속성; }과 .class명 {CSS속성;} 이렇게 쓴다.

 

id가 class보다 더 디테일하기 때문에 class보다 먼저 쓰인다.

(id는 HTML 문서 안에 하나만 존재하기 때문이다.) 

 

class는 중복으로 적용이 가능해서 동일한 여러 개의 클래스 명을 가질 수 있다.

 

※id속성의 값은 영문으로 시작해야 하고 띄어쓰기가 불가능하다.

대신 _(언더바)나 -(하이픈)을 사용한다.

또한 한글, 특수기호도 사용이 불가능하다.

만약 된다고 해도 validator검사를 하면 버그가 난다.

 

이외의 선택자들은 다음 페이지에서 만날 수 있다.

 

 

 

공감 또는 훈수 부탁드립니다.(내가 그걸 모를 꺼 같니?? 라던가 응 아니야~이거야~ 해주세요) 

 

그럼~ 앙 제바

'IT아카데미 > CSS' 카테고리의 다른 글

홈페이지 만들기 - CSS[5]  (0) 2020.05.12
홈페이지 만들기 - CSS[4]  (0) 2020.05.11
홈페이지 만들기 - CSS[3]  (0) 2020.05.09
홈페이지 만들기 - CSS[2]  (0) 2020.05.07
홈페이지 만들기 - CSS[0]  (0) 2020.05.05

+ Recent posts