안녕하삼사리요!! 코딩초밥입니다 ㅇㅅㅇ

오늘은 CSS과정중 박스 모델을 만들어볼텐데요? 고고

실습 TIP!!!!!!

코딩을 전체 복붙을 하신뒤 <body>요소만 남기고

<style>css요소들을 하나씩 대입해가면서

바뀌는 부분들을 확인해보세요!!! 그럼 차이점이 바로보이실겁니다.

 


박스모델

출처:인피니티북스

 

·HTML 요소들을 박스(사각형) 형태로 그리는 것

·박스는 배치, 색상, 경계 등의 속성을 가진다.

CSS에서 마진은 겹처진다!

·500  10패딩을 넣으면 490 콘텐츠 10 패딩이 아니라 510 사이즈가된다

·Css에서의 마진은 겹쳐진다 위컨텐츠에서 아래 마진 5

·아래 콘텐츠에서 위 마진 5를 넣으면

.화면상에서는 10이아닌 5가된다

 

 

 

경계선 스타일 종류!!

 

 

<!DOCTYPE html>

<html>

<body>

<p style="border-style: none">none.</p>

<p style="border-style: dotted">dotted</p>

<p style="border-style: dashed">dashed</p>

<p style="border-style: solid">solid</p>

<p style="border-style: double">double</p>

<p style="border-style: groove">groove</p>

<p style="border-style: ridge">ridge</p>

<p style="border-style: inset">inset</p>

<p style="border-style: outset">outset</p>

</body>

</html>

 

 

 

 

 

 

 

 

 

 

※예제를 직접 보고 직접하는게 제에에일 빠른 방법입니다

복붙해서 같이 저랑 해보시죠.

<​style부분>

 

<!DOCTYPE html>
<html>
    <head>
        <title>FontTest</title>
    <meta charset="utf-8">
    <style>
        p.border{
                  /* 경계선의 스타일 [width지정 없으면 자동 3px] */
                border-style: solid;
                
                /* top,right,bottom,left로 나누어 스타일링 가능 */
                border-top-style: dotted;
                border-width: 4px;
                border-bottom-width: 8px;
                border-color: red;
                border-right-color: blueviolet;

                /* 모서리 둥글게 */
                border-radius: 20px;
                border-bottom-left-radius: 50px;

                /* 경계선이미지 */
                /* 이미지가 보일만큼 경계선 두계 조절 
                투명이 transparent*/
                border:30px solid transparent;
                border-image: url(./border.png);

                /* 높이너비를 3030으로 짤라라 9등분 */
                border-image-slice: 30 30;
                border-image-repeat:round ;

                /* 요소크기 
                height퍼센트를 줄수없다 이유:기준값이없기때문에
                html이라는 요소를 100%를주어야한다 */
                width: 70%;
                height:250px;

                /* 마진 */
                /* margin-left: 50px; */
                /* 마진을 이용해서 요소를 중앙정렬하고싶다면? */
                margin-left: auto;margin-right: auto;
        }
        
            /* 인라인 요소 크기지정 해보기 */
            /* 인라인 요소는 크기지정이 불가능함. */

            /* png jpg의 차이점은 투명도가 되냐 안되냐이다
            jpg는 뒤에 하얀색이 진짜 하얀색이다 jpg는 투명도
            조절이안된다. */
            a{background-color: red; width: 50%;}
            em{background-color: aqua; width: 50%;}

            /* 인라인에서도 크기지정이 가능한 요소들이있다
            block요소, inline요소도 있고
            inline-block요소가 있다:input,img 
            등이 있어서 사이즈를 바꿀수있는 inline이 있다는것이다
            그러면 inline은 사이즈를 못바꿀까?
            아니다 online-block으로 바꿔서 사이즈를 바꿀수있다.
            */
            input{width: 100%; background-color: pink;}
            img{width: 600px;}

            /* 두요소 마진은 서로 겹침 */
            #p1{background-color: red; height: 50px; margin: 0px; margin-bottom: 10px;}
            #p2{background-color: green; height: 50px; margin: 0px; margin-top: 10px;}

            /* 마진을 음수까지 넣을수있다.! */
            #p1{margin: 0px;}
            #p2{margin: 0px; margin-top: -10px; width: 50%;}
            /* 배경 색상, 이미지 지정 */

            p#background{background-color: greenyellow;
            /* 내가원하는 이미지를 가져와봅시다. */
            background-image: url("./image.png");
            background-size: 200px 100px;
            background-repeat: repeat;
            /* 가로만 반복, 반복안않다 */
            background-repeat: repeat-x;
            background-repeat: no-repeat;
            background-position: center;
            background-position: right top;
            background-position: top center;

            /* 축약형 */
            background: green url(./image.png) no-repeat center;

            padding: 20px;

            }
            /* 배경이미지가 화면에 붙는 방식지정 */

            p#attache{
                width: 60%;
                height: 200px;
                border: 2px solid blue;
                overflow: scroll;
                margin-left: auto; margin-right: auto;
                background-image: url(./image.png);
                background-size: 200px 100px;
                background-repeat: no-repeat;
                background-position: center;
                
                
                /* 배경이미지가 붙는 형태지정 */
                background-attachment: scroll;
                /* 콘텐츠가 스크롤되어도 이 요소 배경은 항상 배경의
                포지션을 유지함 */
                background-attachment: local;
                /* 요소의 콘텐츠와 같이 스크롤됨.(단,콘텐츠가 요소보다 클때) */


                background-attachment: fixed;
                /* 브라우저의 기준점으로 위치됨. */
            }
  
    </style>

<body부분>

<body>
        <!-- 경계선 border/요소 크기/중앙정렬 -->
        <p class="border">
            Lorem ipsum dolor sit amet consectetur adipisicing elit. Quis minima odio natus tenetur sed sapiente inventore nihil error, veritatis deserunt ullam nesciunt recusandae fugit eos, numquam autem itaque officiis ducimus.
        </p>
        <!-- 인라인 요소는 기본적으로 width,height이 안됨 -->
        <a href="">gooooogle</a>
        <em>nice to meet you</em>
        <!-- 인라인 요소 중에서 width,height 이 되는 요소있음 -->
        <input type="text">
        <img src="./back.jpg">

        <hr>
        <!-- margin -->
        <div class="m">
            <p id="p1">p1</p>
            <p id="p2">p2</p>

        </div>
        <!-- 배경 -->
        <p id="background">
            Lorem ipsum dolor sit amet consectetur, adipisicing elit. Provident eum deserunt libero assumenda rem consectetur laborum nisi reiciendis enim blanditiis aut veniam laudantium praesentium, temporibus perspiciatis molestiae aliquam unde magnam?
            Lorem ipsum dolor sit amet consectetur, adipisicing elit. Provident eum deserunt libero assumenda rem consectetur laborum nisi reiciendis enim blanditiis aut veniam laudantium praesentium, temporibus perspiciatis molestiae aliquam unde magnam?
            Lorem ipsum dolor sit amet consectetur, adipisicing elit. Provident eum deserunt libero assumenda rem consectetur laborum nisi reiciendis enim blanditiis aut veniam laudantium praesentium, temporibus perspiciatis molestiae aliquam unde magnam?
        </p>

        <p id="attache">
            Lorem ipsum dolor sit amet consectetur, adipisicing elit. Provident eum deserunt libero assumenda rem consectetur laborum nisi reiciendis enim blanditiis aut veniam laudantium praesentium, temporibus perspiciatis molestiae aliquam unde magnam?
            Lorem ipsum dolor sit amet consectetur, adipisicing elit. Provident eum deserunt libero assumenda rem consectetur laborum nisi reiciendis enim blanditiis aut veniam laudantium praesentium, temporibus perspiciatis molestiae aliquam unde magnam?
            Lorem ipsum dolor sit amet consectetur, adipisicing elit. Provident eum deserunt libero assumenda rem consectetur laborum nisi reiciendis enim blanditiis aut veniam laudantium praesentium, temporibus perspiciatis molestiae aliquam unde magnam?
        </p>
        <p id="attache">
            Lorem ipsum dolor sit amet consectetur, adipisicing elit. Provident eum deserunt libero assumenda rem consectetur laborum nisi reiciendis enim blanditiis aut veniam laudantium praesentium, temporibus perspiciatis molestiae aliquam unde magnam?
            Lorem ipsum dolor sit amet consectetur, adipisicing elit. Provident eum deserunt libero assumenda rem consectetur laborum nisi reiciendis enim blanditiis aut veniam laudantium praesentium, temporibus perspiciatis molestiae aliquam unde magnam?
            Lorem ipsum dolor sit amet consectetur, adipisicing elit. Provident eum deserunt libero assumenda rem consectetur laborum nisi reiciendis enim blanditiis aut veniam laudantium praesentium, temporibus perspiciatis molestiae aliquam unde magnam?
        </p>

    </body>
</html>
반응형

'이과 > HTML,CSS,JS' 카테고리의 다른 글

object 다루기  (2) 2022.11.11
data-id 활용법  (1) 2022.09.30
CSS_의사선택자  (4) 2021.05.23
HTML_링크,이미지,표만들기  (4) 2021.05.13
HTML_IFRAME  (13) 2021.05.11

안녕하세요 코딩초밥입니다 ㅇㅅㅇ

혹시 www.naver.com <-이런 링크를위한 글씨에도 효과를 줄수있는거아시나요?

오늘은 그 기능을 만들어보겠습니다

 

 


※간단 예제

·a:link - 방문되지 않은 링크의 스타일

·a:visited - 방문된 링크의 스타일

·a:hover - 마우스가 위에 있을 때의 스타일

·a:active - 마우스로 클릭되는 때의 스타일

간단하게 만들어보았습니다.코드 엔조이

<!DOCTYPE html>
<html>
    <head>
        <title>
            의사선택자의 연습
        </title>
        <meta charset="utf-8">
        <style>
            a#anchor:link{color: red;}
            a#anchor:visited{color: blue;}
            a#anchor:hover{color: greenyellow; font-size: 2em;}
            a#anchor:active{color: yellow;}

            /* 모든요소에 hover가능하다 */
            p:hover{background-color: teal;}
            img{background-color: yellow;}
            img:hover{background-color: greenyellow; width: 100%;}

        </style>
    </head>
    <body>
        <a id="anchor" href="https://www.naver.com">aaaa</a>
        <p>hello world</p>
        <img src="./image.png" alt="없음">
    </body>
</html>
반응형

'이과 > HTML,CSS,JS' 카테고리의 다른 글

data-id 활용법  (1) 2022.09.30
CSS_박스  (1) 2021.05.30
HTML_링크,이미지,표만들기  (4) 2021.05.13
HTML_IFRAME  (13) 2021.05.11
HTML_서버와 통신 GET,POST  (1) 2021.05.11

안녕하세요 코딩초밥입니다 ㅇㅅㅇ

웹앱을 만들려고했을때 저는 처음에 배치를 하는 과정이

안드로이드스튜디오와 달라서 힘들었는데요!(사실 실력이 부족..)

CSS로 콘텐츠를 배치를 하려면 일일이 하나씩 배치를 하는 느낌이라서 꽤 힘들었습니다.

허나 이 FLEX 기능은 안드로이드스튜디오처럼

자식요소들의 배치를 부모요소가 결정을 합니다(한줄기의희망)

자 같이 알아보도록할까요?

안드로이드 스튜디오에서 작업하시다 오신분들에게 설명을 빠르게 드리기위해서는

방향지정에 관한 키워드입니다 눈에 익으시죠? 이렇게 생각하시면됩니다.

orientation=flexdirection

horizontal= row

vertical= colcumn

display의 한 요소인 flex는

자식요소들을 자동으로 inline-blox요소로 바꿉니다. inline인 요소들도 blox요소처럼되서

한칸을 먹는게아니라 옆으로 이동한다는 이야기입니다.

기본적으로 자식의 배치방향은 row입니다.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>flexstyle</title>

    <style>
        body{
            margin: 0; padding: 0;
            font-family: Arial, Helvetica, sans-serif;
        }

        /* header요소 [클래스선택자를 사용함으로서 나중에
        다른요소에 같은 스타일 지정할떄 용이해짐] */
        .header{
            background-color: #1abc9c;
            height: 160px;
            display: flex;
            /* oreantation */
            flex-direction: column;
            /* 위아래중에 센터 */
            justify-content: center;
            /* 좌우로 센터 */
            align-items: center;
            /* justify-content: center;
            align-items: center; */
            color: white;
        }
        /* navbar style */
        .navbar{
            background-color: #333333;
            display: flex;
            
            /* flex를 display해놓으면 안에있는녀석들이
            inline으로 변해서 */
        }
        
        .navbar a{
            color: white;
            padding: 14px 20px;
            text-decoration: none;
            text-align: center;
        }
        .navbar a:hover{
            color: tomato;
            background-color: wheat;
        }

        /* 콘텐츠 영역(2개 영역: aside,section) */
        /* 좌우로 배치되도록 */
        .container{
            display: flex;
            /* 브라우저 사이즈가 작아지면 밖으로나갈수도있으니까 
            자동 줄바꿈*/
            flex-wrap: wrap;

        }
        /* 왼쪽사이드 */
        #side{
            flex-grow: 3;/*row방향으로 너비가 30%의비율*/
            background-color: seagreen;
            padding: 20px;
        }
        /* 본문영역 */
        .main{
            flex:7;
            padding: 20px;
            background-color: white;
        }
        .fackimg{
            background-color: turquoise;
            width: 100%;
            padding: 20px;
        }

        .footer{
            padding: 20px;
            background-color: tomato;
            text-align: center;
        }

        /* 화면너비가 700보다 작을때{}안의 스타일 적용 */
        @media screen and (max-width: 700px){
            .container,.navbar{
                flex-direction: column;
            }

        }     
        





    </style>
</head>
<body>
    <!-- 1.note:사이트를 열었을떄 알림사항들을 보여주는 영역 -->
    <div style="background-color: khaki; padding: 5px;">
        <h4 style="text-align: center;">브라우저 사이즈를 조절하면 반응형웹 효과있습니다</h4>
    </div>

    <header class="header">
        <h1>My Website</h1>
        <p>With a <strong>flexible</strong>layout</p>
    </header>

    <!-- Navigation bar -->
    <nav class="navbar">
        <a href="">link</a>|
        <a href="">link</a>|
        <a href="">link</a>|
        <a href="">link</a>|
    </nav>
    <!-- aside영역과 section영역 2개를 옆으로 배치하기 위해 -->
    <!-- flex스타일로 지정 row방향 -->
    <div class="container">
        <aside id="side">
            <h2>About Me</h2>
            <h5>photo of me:</h5>
            <div class="fackimg" style="height: 200px;">Img</div>
            <p>Some text about me</p>

            <h3>More Text</h3>
            <p>This is more text</p>
            <div class="fackimg" style="height: 60px;">image</div><br>
            <div class="fackimg" style="height: 60px;">image</div><br>
            <div class="fackimg" style="height: 60px;">image</div><br>
        </aside>


        <section class="main">
            <h2>TITLE HEADING</h2>
            <h5>title description, Dec 7, 2020</h5>
            <div class="fackimg" style="height: 200px;">image</div>
            <p>sometext..</p>
            <p>Lorem ipsum, dolor sit amet consectetur adipisicing elit. Consequuntur unde beatae cupiditate maxime necessitatibus. Laudantium rerum perspiciatis, quaerat ipsa illum mollitia maxime vero voluptates nisi sed tenetur. Inventore, reprehenderit a.</p>
            
            <h2>TITLE HEADING</h2>
            <h5>title description, Dec 7, 2020</h5>
            <div class="fackimg" style="height: 200px;">image</div>
            <p>sometext..</p>
            <p>Lorem ipsum, dolor sit amet consectetur adipisicing elit. Consequuntur unde beatae cupiditate maxime necessitatibus. Laudantium rerum perspiciatis, quaerat ipsa illum mollitia maxime vero voluptates nisi sed tenetur. Inventore, reprehenderit a.</p>
     
       
        </section>


    </div>
    <!-- footer -->
    <div class="footer">
        <h2>footer</h2>
    </div>
</body>
</html>

반응형

'이과 > HTML,CSS,JS' 카테고리의 다른 글

HTML_오디오,비디오 div, span  (2) 2021.05.06
반응형 웹디자인.  (5) 2021.05.03
HTML_줄바꾸기,헤딩,수평선,리스트  (0) 2021.05.01
HTML에 대한 이해  (1) 2021.04.30
CSS_CSS에 대한 이해  (0) 2021.04.30

안녕하세요 코딩초밥입니당!! ㅇㅅㅇ

요즘 비가 많이 오네요 모두 건강 조심하세용 😍😍

 


저번에 개발 방식에 대한 종류를 알아보았는데요

WebAPP을 만드는데 총 3가지의 계념이 필요한데요

HTML, CSS, JAVASCRIPT입니다.

자 HTML은 뭘까요? 우리가 HTML의 코드를 살펴보기 전에 HTML이 왜 필요하고 어떻게 만들어졌는지 알아보는 시간을 가지겠습니다 (알고 공부하면 이해가 더 빠르..겠지? 그러겠지? 그럴거야)

그냥 쭈우욱 흐름대로 읽어주시면 감사하겠습니다.


앱을 만들거나 작업을 한다고 가정해봅시다.

수많은 데이터들이 필요하다고 했을 때 우리는 무엇을 하나요?

하나하나 내 컴퓨터에다가 저장을 하나요?

제 컴퓨터 포함해서 어느 컴퓨터도 정보를 저장시키는 데에 한계점이 있을 겁니다.

그래서 거의 다 서버에 올려놓습니다. 전 세상 사람들이 쓰는 서버라면 엄청 크겠죠?

그 광대하고 꺼지지 않는 서버는 HTML으로 정리되어 있습니다. 여기서 HTML이 쓰이는 것입니다.

그래서 사용자는 웹서버에 HTTP Request (내가 원하는 정보 줭!)하면

html 언어로 HTTP Response (옛다 받아라!) 하고 넘어옵니다.


·HTML(Hyper Text Markup Language)

웹 페이지를 기술하기 위한 마크업(markup) 언어를 만들었다

html은 언어이긴 하나 java처럼 제어와 재분배가 아닌! 이곳에 이것이 있다는 규약 언어 같은 것입니다.

ex> 시작 태그(starttag) <title> Web Programming</title> 종료 태그(endtag)

- '팀 버너스 리'로 인해 개발

처음에는 고급 정보를 알기에는 일반인은 자료에 다가가기 어렵고 한 집단에서 정보를 독점 못하게 하고 싶다는 마음에서 만들었다고 합니다. (이게 멋이지)

인터넷에 아버지라고 불리시죠.

많은 업데이트들이 있었는데 대표적으로 이야기하자면

1999년 HTML 4.01이나왔을때는 이메일도 나오고 제일 핫했었죠.

2000년에 XHTML이 나왔으나 에러가 많이 일어나서

2012년 HTML5가 나왔고 지금 대부분 우리가 쓰고 있는 버전입니다

HTML5의 기능

· HTML5는 HTML의 새로운 표준

·완전한 CSS3 지원

·비디오와 오디오 지원

·2D/3D 그래픽 지원

·로컬 저장소 지원

·로컬 SQL 데이터베이스 지원

·웹 애플리케이션 지원

 

 

요약.

웹서버에 정보를 주고받기 위해 만든 규약 언어가 HTML이고 그걸 이쁘게 디자인하는 것이 CSS

누르면 발동하는 값을 주는 것이 JAVASCRIPT이며

그것들을 이쁘게 포장한 것이 모두가 아는 WEB BROWSER입니다.

 

 

자 그럼 인제 왜 만들어졌는지는 이해가셨다면 어떻게 생겼는지 구경 가볼까요??

사용한 프로그램은 Visual Studio Code입니다

두 가지 계념은 여기서 설명드리고 나머지는 직접 보면서 주석으로 설명드리겠습니다

1. 요소 <element>

요소=(시작태그+콘텐츠+ 종료태그) 이렇게 이루어져 있습니다

태그가 요소가 아닙니다. 태그는 요소 안에 구성물입니다. 오해금지.

<tilte> 나의 웹페이지 </title>

2.속성 <attribute>

·속성은 요소에 대한 추가적인 정보를 제공

속성은 항상 시작 태그에 이름=“값” 형태로 기술된다.

<a href= "http:// www.sushi.org">코딩초밥 </a>

 

html 안에 css 와 javscript를 써서 예제를 만들어보겠습니다.

 

html의 시작과 css의 언어입니다.

시작으로<head> 안에는 <title> 요소가 자리하고있으며 그안에서 자신의 웹페이지 이름을 설정할수있습니다

css는 뒤에나오는 h2와 p의 색깔을 주는 값이 적혀있습니다.

이렇게 css 는 html의 디자인을 책임집니다

script는 javascript로 눌렀을때 발동되는 함수들을 제어할수있습니다

아래의 onclick= show()값 이 보이시나요?

아래에는 show()만 놓고 그안에 어떻게 발동되는지는 써있지않습니다.

위에 script 안에 다 써있으니까요!

이런식으로 html안에 css와 javascript 를 사용해서 디자인을 넣기도하고 쓰이는 방식을 제어할수도있게됩니다.

아직은 허접하죠? 오늘은 계념만 집고 넘어가는 시간을 가졌습니다.

다음글부터 이 허접한 결과물을 창대하게 만들어보는 과정들을 만들어보겠습니다! 😋

반응형

'이과 > HTML,CSS,JS' 카테고리의 다른 글

반응형 웹디자인.  (5) 2021.05.03
CSS의혁명,FLEX  (0) 2021.05.02
HTML_줄바꾸기,헤딩,수평선,리스트  (0) 2021.05.01
CSS_CSS에 대한 이해  (0) 2021.04.30
CSS_선택자의종류  (0) 2021.04.28

안녕하세요 코딩초밥입니다 ㅇㅅㅇ

즐거운 하루네요

😁

 


가끔 네트워크에 이상이 생길때 이렇게 변하는거 보셨나요?

사실 이건 CSS가 아직 로딩이안되어서 HTML 본연의 모습을 보여준것입니다.

 

CSS는 HTML의 디자인을 맏아서 합니다

·거대하고 복잡한 사이트를 관리할 때에 필요

·모든 페이지들이 동일한 CSS를 공유

·CSS에서 어떤 요소의 스타일을 변경하면 관련되는 전체 페이지의 내용이 한꺼번에 변경

지금은 CSS3까지 나와있습니다

 

 

CSS3의 기능

·선택자(selectors)

·박스 모델(Box Model)

·배경 및 경계선(Backgrounds and Borders)

·텍스트 효과(Text Effects)

·2차원 및 3차원 변환(2D/3D Transformations)

·애니메이션(Animations)

·다중 컬럼 레이아웃(Multiple Column Layout)

·사용자 인터페이스(User Interface)

CSS3 문법

·선택자(selector) { 속성: ; }

·끝에 반드시 ; 적어 준다.

예를들면 p: {background-color : yellow;}

- p: 선택자(selector)

- background-color : 속성(property)

-yellow :값(vlaue)

CSS의 위치

css는 head 안에 위치되있는경우가 많지만..

사실 어디에 써놔도 반응하긴합니다..심지어 html밖에다써놔도 반응하긴하는데

head안에다 써놓는것이 통상입니다.

<!doctype html>

<html>

<head>

<title>My Web Page</title>

<style>

p { background-color: yellow; }

</style>

</head>

<body>

<p>This is a paragraph.</p>

</body>

</html>

​

css의대한 기본계념을 익히셨다면. 다음글에

이렇게 한번에 디자인을 관장한다면 어느부분을 어떻게 바꾸는지에 대해서

"선택"을 하는 타입 선택자를 공부해보겠습니다

반응형

'이과 > HTML,CSS,JS' 카테고리의 다른 글

반응형 웹디자인.  (5) 2021.05.03
CSS의혁명,FLEX  (0) 2021.05.02
HTML_줄바꾸기,헤딩,수평선,리스트  (0) 2021.05.01
HTML에 대한 이해  (1) 2021.04.30
CSS_선택자의종류  (0) 2021.04.28

안녕하세요 코딩초밥입니다 ㅇㅅㅇ

오늘은 CSS로 디자인을 한다면 어떻게 하는거지?

또, CSS로 디자인코드를 쓰면 웹사이트안에있는 요소들이 다 지정되서 바뀔텐데

어떻게 하나하나 선택해서 디자인하는거지?

의 궁금증을풀어보겠습니다

실습 TIP!!!!!!

코딩을 전체 복붙을 하신뒤 <body>요소만 남기고

<style>css요소들을 하나씩 대입해가면서

바뀌는 부분들을 확인해보세요!!! 그럼 차이점이 바로보이실겁니다. 😍😜

 

 


 

※선택자의 종류

CSS를 시작하기 앞서 '6번쨰 줄만 파란색으로 바꾸겠다' '이 리스트에 두번째줄만 빨간색으로'

처럼 한부분을 지정해서 디자인을하는것이 가능해야 디자인을 시작하겠죠?

오늘은 선택을 할수있는 방법들에대해 알아보겠습니다.

<!DOCTYPE html>
<html>
    <head>
        <title>css기본문법</title>
        <meta charset="utf-8">
        
        <style>
        
            /* 선택자의 종류 */

            /* 1.타입(요소) 선택자 */
            
            h2{color: red;}
            p{color: blue; font-family: serif;}
            /* h2와 p 요소에게 색깔을 부여하는 코드입니다 */


            /* 2.전체 선택자 */

            *{color: yellow; font-style: italic;}
            /* *은 전체 다 바꿔주세요!라는 뜻입니다. 
            그러나 이것은 안바뀔것입니다 이유는 css는 디자인의 우선순위가있는데 
            직접적으로 디자인을 바꾼 1.타입 요소 선택자에게 우선순위가 밀리기 때문입니다*/

            /* 3.아이디 선택자 */
            #p1{color: green;}
            /* 아이디 p1인거 바꿔주세요! */

            /* 4.클래스 선택자  맞침표는. 클래스를 뜻합니다. 타입선택지보다 우선순위*/
            .aa{color:violet;}
            /* aaclass인것들은 다바꿔주세요!라는 뜻입니다 아래서 class를 확인해봅시다 */

            p.aa{color: gray;}
            /*  p요소중에서 class가 aa인 요소 선택!이라는뜻입니다*/

            /* 5.선택자 그룹 */
            li, a{color: blue;}
            /*  쉼표,을써서 li와 a를 설정!한다는 뜻입니다 */
        

            /* 6.자식, 자손 선택자 */
            #ss>p{color: black;}
            /* 제가 div안에 div를 또 만들어놨습니다. > 이 부호의 뜻은 바로 직속 자식한테만! 
            디자인을 부여하는겁니다*/

            #ss p {color: lime;}
            /* ss의 전체의 p !에게 칼라를 부여합니다. 띄워쓰기가 자손이라는뜻이됩니다*/
            /* ss의 아이디를 부여한 곳 아래에 있는 모든 p들은 이 칼라를 부여받습니다 */
            
            
            /* 이 두개의 다른점이 뭘까요? */
            p.aa{color: red;} 
            /* p요소중에서 class속성값이 aa인 요소선택 */
            p .aa{color: red;}
            /* p요소의 자손들중에 클래스값이 aa인것 */


            #kk ul.gg>li{background-color: green;}
            /* kk라는 아이디 안에 있는 ul클래스값이 gg인 ul안에 li에게 색깔지정 !*/
            /* 7.속성 선택자 */
       
            p[class]{font-size: 30px;}
            /* class라는 속성을 가지고 있는 p요소 */
        
            div[id="ss"]{font-weight: bold;}
            /* id가 ss인 div를지칭 */


            /* 8.의사 선택자 (링크 눌렀을때 안눌렀을떄 색깔변하는거 보셨나요?) */
            a:link{color:blue;}
            /* 안눌렀을떄는 파랑색 */
            a:visited{color:red;}
            /* 눌렀다면 빨간색 */

            /* 마우스커서 올려놨을때랑 눌렀을때 그찰라 */
            a:hover{color:green;}
            a:active{color: greenyellow;}
            /* hover는 반드시 link,visited뒤에 작성해야함 */
            /* active는 반드시 hover뒤에 작성해야함 */

            #kk ul li:first-child{color: red;}
            #kk ul li:nth-child(2){color: black;}
            #kk ul li:last-child{color: aqua;}

            /* 수식을 이용한 n번째 테이블 줄에 색깔넣을수도 있다 */
            table tr:nth-child(2n+1){background-color:aqua ;}

        </style>
<!-- 여기까지가 css고 css예제를 위해서 html 예시문을 만들어보겠습니다-->

    </head>

    <body>
        <h2 class="aa"> css selector test</h2>
        <p id="p1"> hello world</p>
        <p class="aa"> nice to meet you</p>
        <!-- 1.타입(요소)선택자 2.전체선택자 3.아이디 선택자 4.클래스 선택자-->


        <ul>
            <li>aaa</li>
            <li>bbb</li>
            <li>ccc</li>
        </ul>
<a href="">고고</a>


<!-- 6.자식, 자손 선택자 -->
<div id="ss">
    <h4>Region</h4>
    <p>Hello world</p>

    <div>
        <p>Apple</p>
        <p>Orange</p>
        <p>Banana</p>
    </div>
</div>

<!-- 다소복잡한 선택자 -->
<div id="kk">

    <ul>
        <li>111</li>
        <li>222</li>
        <li>3333</li>
    </ul>
    <ul class="gg">
        <li>hhh</li>
        <li>qqq</li>
        <li>vvv</li>
    </ul>
</div>
<!-- 8.의사 선택자 -->
<a href="http://www.google.com">google</a>

<!-- 수식을 이용한 n번째 지식 스타일 -->
<table border="1">
    <tr>
        <td>aa</td>
        <td>bb</td>
        <td>cc</td>
        <td>dd</td>
    </tr>
    <tr>
        <td>aa</td>
        <td>bb</td>
        <td>cc</td>
        <td>dd</td>
    </tr>
    <tr>
        <td>aa</td>
        <td>bb</td>
        <td>cc</td>
        <td>dd</td>
    </tr>
    <tr>
        <td>aa</td>
        <td>bb</td>
        <td>cc</td>
        <td>dd</td>
    </tr>
</table>





    </body>
</html>

 

결과물

- 본인만의 스타일을 만들어보세용 😍

 

반응형

'이과 > HTML,CSS,JS' 카테고리의 다른 글

반응형 웹디자인.  (5) 2021.05.03
CSS의혁명,FLEX  (0) 2021.05.02
HTML_줄바꾸기,헤딩,수평선,리스트  (0) 2021.05.01
HTML에 대한 이해  (1) 2021.04.30
CSS_CSS에 대한 이해  (0) 2021.04.30

+ Recent posts