'CSS 기초'에 해당되는 글 1건

CSS 기초

Web 프로그램/CSS 2015. 3. 16. 00:24
728x90

CSS 기초


HTML은 운영체제나 사용하는 프로그램에 관계없이 누구나 같은 내용의 문서를 볼 수 있도록 하겠다는 취지에서 만들어졌다.
그러나, 이미지와 동영상등의 하이퍼미디어를 주 내용으로 하는 웹 문서가 다양하고 화려해짐에 따라,
HTML은 그 한계를 드러났고, 이를 보완하기 위해 등장한 새로운 문법으로 스타일 시트를 사용하면
TABLE이나 FRAME에 의존하던 문서의 레이아웃을 효과적으로 할 수 있고, 글자 크기나 글자체, 줄간격, 배경 색상 등도 자유롭게 선택할 수 있다.

CSS 는 HTML문서 내에서 어떤 요소에 CSS의 스타일을 적용시킬 것인가 결정하기 위한 것이다.

CSS 파일은 선택자(Selector)와 { }로 둘러쌓인 속성:속성값 들로 이루어져 있다.


CSS 의 장점

① 홈페이지에 통일감(일관성)을 줄 수 있다.
② 한 번만 정의하여 여러번 가져다 쓸 수 있으므로 업무효율성을 높일 수 있다.
③ 정의된 곳 한 곳만 수정하면 되므로 수정작업이 쉽다.


CSS의 정의하는방법
(1) <style>태그를 선언하여 사용하기

     <style type=”text/css”>
       <!--
          이곳에 스타일을 정의한다.
       -->
     </style>
(2) 각 태그들의 style 속성에 설정하기

      <태그 이름 style = ”스타일 ……..”  >

(3) CSS(스타일)를 파일로 저장하기

     <head> </head> 사이에 외부 스타일 시트를 불러올 수 있다.
     <link rel="stylesheet" type="text/css" href="./stylesheet.css" />    


Front End 디자인 무료 공개 소스(코드펜)  https://codepen.io 에서 회원 가입하면 코드 미리 보기도 가능하고, 수많은 오픈 소스를 이용할 수 있다.


※ 글자색상, 배경색상을 RGB로 직접 지정하고 싶은 경우에는

    http://www.color-hex.com/ 에서 확인 변경할 수가 있고

    http://www.w3schools.com/css/css_colors.asp 참조하면 좋다.

    https://www.cmsfactory.net/ 에 좋은 강좌 내용이 많다.


ㅇ ID 사용하기
   스타일 시트 파일내에
   #slist { font-style:italic;  color:blue; }
   라고 정의하면
   HTML 본문에서
   <div id="slist"> Welcome to Hello</div>
   로 문장을 사용한다.


<style>
#para1 { text-align: left; color: blue; }
</style>

<p id="para1">Hello World!</p>


ㅇ 클래스 사용하기
   ID에 사용되는 # 심볼 대신에 클래스 문장은 .(점)으로 시작한다.
   스타일 시트 파일내에
   .slist { font-style:italic;  color:blue; }
   라고 정의하고
   HTML 본문에서는
   <div class="slist"> Welcome to Hello</div>


<style>
p.center { text-align: center; color: red; }

p.large { font-size: 200%; }

p {text-align:justify;}  // <p> ...</p> 태그 사이의 모든 텍스트가 양쪽 맞춤된다.

</style>

<h1 class="center">This heading will not be affected</h1>
<p class="center">This paragraph will be red and center-aligned.</p>

<p class="center large">This paragraph will be red, center-aligned, and in a large font-size.</p>


p { margin-left : 10px; margin-right : 10px; background-color: yellow; }


ㅇ CSS 규칙
    - CSS에서 세미콜론은 동일한 줄에 있는 여러 CSS 문장을 분리하는데 사용한다.

    - 만일 값이 공백을 포함한 여러 단어일 경우 다음과 같이 quote(")로 묶어준다.
      p {font-family: "sans serif"} 
    - 하나의 선택자에 하나 이상의 속성을 정의하고 싶을 경우에는 ";"(semicolon)으로 분리해 준다.
      p {text-align:center;color:red}


ㅇ 외부 스타일 시트

외부 스타일 시트는 여러 웹 페이지에 스타일을 적용시킬 때 이상적이다. 외부 스타일 시트를 사용하면 하나의 CSS파일 만 수정하여 어려 웹 페이지(HTML문서)의 스타일을 변경시킬 수 있다. 그렇게 하기 위해서 각각 웹 페이지에는 <link> 태그를 사용하여 외부 스타일 시트 파일을 지정하는 문장에 <head>태그에 포함되어 있어야 한다.
<!doctype html>
<html>
<head>
<link rel="stylesheet" href="default.css" />
</head>
<body>


ㅇ 주석처리
   /* ... */ 로 하면 주석으로 인식한다.


ㅇ 내부스타일 시트

내부 스타일 시트는 하나의 문서에서만 사용하는 스타일을 정의할 때 사용한다. 내부 스타일은 <head>태그 안에 <style>태그를 이용하여 정의한다.

<head>
<title>문서의 제목</title>
<style type="text/css">
hr { color: sienna; }
p  { margin-left: 20px; }
body {
       background-image: url("images/back.gif")
}
</style>
</head>


<style type = "text/css">
        p { color : blue; }       /* p 태그 안의 글자들을 파란색으로 처리함.  */
        #ctxt { color : blue; }     /* id명이 ctxt인 요소의 글자들을 파란색으로 처리함. */
        .ctxt { color : blue; }      /* class명이 ctxt인 요소의 글자들을 파란색으로 처리함. */
         * { color : blue; }           /* 페이지 내의 모든 요소의 글자들을 파란색으로 처리함. */
         li > p { color : blue; }       /* li 자식 p 태그의 글자들을 파란색으로 처리함.   */
         h1 + p { color : blue; }       /*  h1 속 바로 다음 p 태그의 글자들을 파란색으로 처리함. */
         h1[class] { color : blue; }     /* 두 hi 중 class 속성을 가진 '서울특별시'만 파란색으로 나타난다. */
        a { color : #000; }              /* 링크 걸린 글자는 모두 검은색 */
        a:hover { color : #f00; }        /* 마우스 닿으면 빨간색 */

       .box:after { content : "항목을 선택해주세요." ; color : green ;}  /* box의 마지막에 문장을 삽입한다. */
       p:first-letter { font-size : 300% ; }                    /* p 태그 안의 첫 글자는 글자크기 세배로. */
       p { border-bottom:1px dashed #000 ;}             /* p 태그에 모두 밑줄 치고. */
       p:last-child { borde : none ;}                            /* 마지막 p 태그에만 밑줄 빼기. */
       p.more a { color : red ; }             /* 클래스명이 more인 p 태그의 링크 (a)색상을 변경함. */
        .box li { padding : 5px 0;}               /* 클래스명이 box인 요소 내부의 li에 세로 여백을 준다. */
        h1, p { border:1px solid #000; }              /* h1과 p 요소에 1px짜리 검은 테두리를 준다. */
</style>


기본적으로 <div>  엘리먼트는 무한 너비를 가진다.

픽셀(px)의 크기는 사용자의 모니터의 면적과 픽셀 깊이에 따라 다르다.

포인트는 인치의 1/72 크기와 같다.

em 은 현재 글씨체와 같고, 상대적인 면적으로 나타내는 데 사용된다.


<style>

body {
    background-image: url("gradient_bg.png");
    background-repeat: repeat-x // 작은 이미지파일을 가로방향으로 큰 이미지처럼 보여준다

    background-repeat: no-repeat;

    background-position: left top;  // 이미지 파일 위치 지정

    margin-left: 220px; // 이미지와 글자가 겹쳐 보이지 않도록 글자의 여백 지정
}
</style>


If the margin property has four values:
    margin: 20px 30px 40px 50px;
        top margin is 20px
        right margin is 30px
        bottom margin is 40px
        left margin is 50px

If the margin property has three values:
    margin: 20px 30px 40px;
        top margin is 20px
        right and left margins are 30px
        bottom margin is 40px

If the margin property has two values:
    margin: 20px 30px;
        top and bottom margins are 20px
        right and left margins are 30px

If the margin property has one value:
    margin: 20px;
        all four margins are 20px


text-transform: uppercase;  // 글자를 모두 대문자로 변환
text-transform: lowercase;  // 글자를 모두 소문자로 변환
text-transform: capitalize;  // 글자의 첫글자만 대문자로 변환
text-indent: 30px;  // 텍스트 첫글자 들여쓰기



ㅇ 스마트폰 레이아웃 주의사항

- overflow 속성을 사용해서 스크롤을 넣을 수 없다.
- 스마트폰은 hover가 없다. 그래서 hover, active 등 상태 선택자를 사용할 때 주의해야 한다.
- 동위 선택자에 제한이 있다.
- 선택자에 ~를 지원하지 않는 브라우저가 있다.
- iphone에서는 label 태그에 onclick="" 속성을 부여해야 정상 동작한다.
- 그래디언트를 적용할 수 없을 수 있다.


ㅇ viewport META

- meta 태그를 title 태그 위에 선언하여 브라우저에 특별한 정보를 제공할 수 있다.
- name 속성의 값이 viewport인 경우 content 속성의 값을 이용해 브라우저 화면 설정과 관련된 정보를 제공한다.
<meta name="viewport" content="width=device-width, intial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no, target-densitydpi=medium-dpi" />

'Web 프로그램 > CSS' 카테고리의 다른 글

[CSS] Table 꾸미기  (0) 2018.05.13
CSS 문법  (0) 2015.03.26
블로그 이미지

Link2Me

,