본문 바로가기

WEB/CSS

CSS3 - background, table

<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <title>CSS 배경관련 속성</title>
    <link rel="stylesheet" href="../css/normalize.css">
    <style>
        #box1 {background-color: red}
        #box2 {background-color: #0000ff}
        #box3 {background-color: rgb(0,0,255, 0.5) }

        #box4, #box5, #box6,
        #box7, #box8, #box9,
        #box10, #box11,#box12, #box13, #box15
            {width:450px; height:200px; background-image: url("../img/plane.png") }

        #box6 {background-color: blanchedalmond; background-repeat: no-repeat }
        #box7 {background-color: greenyellow; background-repeat: repeat-x }
        #box8 {background-color: greenyellow; background-repeat: repeat-y }
        #box9 {background-color: gainsboro; background-repeat: no-repeat;
                background-size: 300px 200px}
        /*cover: width, height 중 큰 값을 기준으로 배경이미지를 최대로 키워 화면에 표시 */
        #box10 {background-color: gold; background-repeat: no-repeat;
                background-size: cover}
        /*contain: 배경이미지의 비율을 유지하면서 지정한 영역에 이미지 전체가 표시 */
        #box11 {background-color: lightpink; background-repeat: no-repeat;
                background-size: contain}
        #box12 {background-color: ivory; background-repeat: no-repeat;
                background-size: contain; background-position: 100px 30px }
        #box13 {background-color: powderblue; background-repeat: no-repeat;
                background-size: contain; background-position: center } /*문서에 이미지*/

        body {background-image: url("../img/rubber-duck.png");
            background-repeat: no-repeat;
            background-size: 512px 512px;
            background-position: center;
            background-attachment: fixed }

        #box14 {width:450px; height:200px;
            background:chartreuse
            url("../img/rubber-duck.png")
            no-repeat center; background-size: contain  }


        #box15, #box16, #box17 {width: 45px; height: 43px;
            /*border: 1px solid blue;*/
            background:url(../img/img_navsprites.gif);
            margin-bottom:100px}

        #box15:hover {background: url("../img/img_navsprites.gif") 0px 44px}


        #box16 {width:43px; background-position: 43px 0 }

        #box16:hover {background: url("../img/img_navsprites.gif") 43px 44px }


        #box17 {width:43px; background-position: 87px 0}

        #box17:hover {background: url("../img/img_navsprites.gif") 87px 44px }



    </style>








</head>
<body>
    <h1>CSS background 속성 </h1>

    <h2>outline</h2>
    <p>해당요소의 배경으로 색상 또는 이미지를 지정할 수 있음</p>


    <h2>색상지정</h2>
    <p>background-color 속성으로 요소의 배경색을 지정</p>
    <div id="box1">&nbsp;</div>
    <div id="box2">&nbsp;</div>
    <div id="box3">&nbsp;</div>


    <h2>배경이미지 지정</h2>
    <p>background-image 속성으로 요소의 이미지를 지정</p>
    <p>이미지의 크기가 요소의 크기보다 작으면 반복됨</p>
    <div id="box4">sdsdsdasdgerwgvr</div>


    <h2>배경이미지 반복설정</h2>
    <p>background-repeat 속성으로 배경이미지와 반복여부 설정</p>
    <div id="box5">&nbsp;</div>
    <div id="box6">&nbsp;</div>
    <div id="box7">&nbsp;</div>


    <h2>배경이미지 크기 지정</h2>
    <p>background-size 속성으로 배경이미지의 크기를 설정</p>
    <p>단, 배경이미지를 지나치게 키우면 이미지의 가장자리가 계단처럼 깨짐
        -배경이미지가 bitmap인 경우 </p>
    <p>이미지 계단현상 줄이는 기능 anti-aliasing </p>

    <div id="box8">hhhhhhhh</div>
    <div id="box9">&nbsp; </div>
    <div id="box10">&nbsp; </div>
    <div id="box11">&nbsp; </div>


    <h2>배경이미지 위치 지정</h2>
    <p>background-position 속성으로 배경이미지의 위치를 설정</p>
    <div id="box12">&nbsp; </div>
    <div id="box13">&nbsp; </div>


    <h2>배경이미지 스크롤 고정 </h2>
    <p>background-attachment 속성으로 화면스크롤시 배경이미지를 고정시킬 수 있음</p>


    <h2>축약</h2>
    <p>background 속성을 축약해서 설정할 수 있음</p>
    <p>설정순서는 color, image, repeat, attachment, position 임</p>
    <div id="box14">&nbsp;</div>


    <h2>스프라이트 sprite</h2>
    <p>스프라이트란 여러개의 개별이미지를 하나의 이미지에 합쳐서 관리하는 이미지를 의미</p>
    <p>웹페이지에 이미지를 사용하는 경우 해당 이미지를 다운로드하여 화면에 표시하기 위해 서버에 요청함</p>
    <p>사용하는 이미지가 많을수록 서버에 요청하는 횟수 증가
        => 웹페이지 로딩시간 증가 </p>

    <p>따라서, 스프라이트를 사용하면 서버에 이미지 요청횟수를 단 몇번으로 줄일 수 있음</p>
    <p>또한 다량의 이미지파일 관리의 용이성도 있음음</p>
    <div id="box15">&nbsp;</div>
    <div id="box16">&nbsp;</div>
    <div id="box17">&nbsp;</div>



</body>
</html>
<!DOCTYPE html>
<html lang="ko">
<head>
    <meta charset="UTF-8">
    <title>CSS 테이블 관련 속성</title>
    <link rel="stylesheet" href="../css/normalize.css">

    <style>
        table {width: 50%; border: 1px solid black;
            /*border-spacing: 10px; 테두리간 간격*/
            border-collapse: collapse /*테두리 하나로 합침*/ }
        th,td {border: 1px solid black; padding: 10px;
            text-align: center }


        #tb2 {width: 300px; table-layout: fixed }
        #tb2 td:first-child{width:30%}
        #tb2 td {overflow: hidden; text-overflow: ellipsis}

        #tb3 {width:500px; height: 300px }
        #tb3 tr:first-child td{vertical-align: top}
        #tb3 tr:nth-child(2) td{vertical-align: bottom}
        #tb3 tr:last-child td:first-child{text-align: right}
        #tb3 tr:last-child td:nth-child(2){text-align: left}
        #tb3 tr:last-child td:last-child{text-align: left}


            /* display : table - 블록요소를 테이블처럼 보이게 함 */
            /* display : table-row - 블록요소를 테이블 행처럼 보이게 함 */
            /* display : table-cell - 블록요소를 테이블 셀처럼 보이게 함 */


        #tb4 {width: 50%; height: 60px;
            border: 1px solid black; display: table;
            border-collapse: collapse}

        #tb4 .tr {display: table-row;}

        #tb4 .th, #tb4 .td {border:1px solid black;
            display: table-cell; padding: 10px}

        #tb4. th {font-weight: bold; text-align: center}
        #tb4. td { text-align: center}




        #tb5 {border-top: 3px solid black;
            border-bottom: 3px solid black;}

        #tb5, #tb5 th, #tb5 td{
            border-left:none;
            border-right: none;
            padding: 15px}

        #tb5 tr:nth-child(odd) {background: ivory}
        #tb5 tr:nth-child(even) {background: cornsilk}
        #tb5 tr:hover{background: gainsboro}



    </style>






</head>
<body>
    <h1>CSS 테이블 관련 속성</h1>
    <h2>개요</h2>
    <p>데이터를 2차원의 표 형태로 나타냄</p>
    <p>테이블 관련 속성으로 다양한 형태의 표를 만들 수 있음</p>

    <h2>border</h2>
    <p>테이블의 테두리를 나타내는데 사용</p>
    <p>border-collapse 속성으로 테이블의 테두리를 어떻게 표현할지 설정</p>
    <p>border-spacing 속성으로 테이블의 테두리 간격 설정</p>

    <table class="tb1">
    <tr><th>이름</th><th>국어</th><th>영어</th><th>수학</th></tr>
    <tr><td>혜교</td><td>99</td><td>98</td><td>99</td></tr>
    <tr><td>지현</td><td>54</td><td>77</td><td>87</td></tr>
    <tr><td>수지</td><td>78</td><td>45</td><td>32</td></tr>
    </table>

    <h2>테이블 레이아웃</h2>
    <p>테이블의 내용에 따라 테이블의 크기를 어떻게 나타낼 것인지 결정 </p>
    <p> 셀의 크기보다 많은 내용을 포함시키면 테이블 크기 늘어남 </p>
    <p>이러한 상황 방지하려면 table-layout:fixed 속성 사용 </p>
    <p>테이블 크기를 고정시켰을때 넘쳐나는 내용은 overflow속성들로 적절히 처리 가능</p>
    <table id="tb2">
        <tr><td>내용</td>
            <td>1234567890123456789012345678901234567890 </td>

        </tr>
    </table>


    <h2>테이블 내용의 수직정렬</h2>
    <p>테이블 내용을 위, 아래, 가운데로 정렬하고 싶으면
        virtical-align 속성 사용 </p>
    <table id="tb3">
        <tr><td>123456789 </td><td>123456789 </td><td>123456789 </td></tr>
        <tr><td>123456789 </td><td>123456789 </td><td>123456789 </td></tr>
        <tr><td>123456789 </td><td>123456789 </td><td>123456789 </td></tr>
    </table>


    <h2>display 속성으로 테이블 표현하기</h2>
    <p>display 속성은 일반적으로 인라인 요소나 블럭요소로
        변환해서 화면에 출력하는데 사용</p>
    <p>하지만, display 속성에 table을 지정하면 블록요소가 테이블의 성질을 가지게 할 수 있음</p>



    <div id="tb4">
        <div class="tr">
            <div class="th">이름</div>
            <div class="th">국어</div>
            <div class="th">영어</div>
            <div class="th">수학</div>
        </div>

        <div class="tr">
        <div class="td">혜교</div>
        <div class="td">99</div>
        <div class="td">98</div>
        <div class="td">99</div>
        </div>
    </div>



     <h2>테이블 세련되게 만들기</h2>
    <p>테이블의 짝수행과 홀수행의 배경색을 다르게 지정 - 얼룩말, 스트라이트 무늬</p>
    <p>hover 클래스 선택자를 이용해서 현재 행에 배경색을 다르게 지정할 수 있음 </p>
    <p> 테이블 테두리도 행기준 아래쪽에만 표시하도록 함 </p>


    <table id="tb5">
    <tr><th>이름</th><th>국어</th><th>영어</th><th>수학</th></tr>
    <tr><td>혜교</td><td>99</td><td>98</td><td>99</td></tr>
    <tr><td>지현</td><td>54</td><td>77</td><td>87</td></tr>
    <tr><td>수지</td><td>78</td><td>45</td><td>32</td></tr>
    <tr><td>혜교</td><td>99</td><td>98</td><td>99</td></tr>
    <tr><td>지현</td><td>54</td><td>77</td><td>87</td></tr>
    <tr><td>수지</td><td>78</td><td>45</td><td>32</td></tr>
    <tr><td>혜교</td><td>99</td><td>98</td><td>99</td></tr>
    <tr><td>지현</td><td>54</td><td>77</td><td>87</td></tr>
    <tr><td>수지</td><td>78</td><td>45</td><td>32</td></tr>
    </table>




</body>
</html>

'WEB > CSS' 카테고리의 다른 글

CSS3 - project (웹)  (0) 2022.06.08
CSS3 - float, flex  (0) 2022.06.08
CSS3 - list, position  (0) 2022.06.08
CSS3 - text, display  (0) 2022.06.08
CSS3 - selector, reset  (0) 2022.06.08