본문 바로가기
컴퓨터 사이언스/TIL 정리

MGS Day 08

by 메리뉴데이 2022. 7. 6.

margin  : 요소의 외부 여백(공간)을 지정하는 단축 속성

                  cf. margin-방향(상하좌우) - 개별 속성

                  음수를 사용할 수 있다 !

                  속성값으로 auto를 주게 되면, 브라우저가 여백을 계산 

                                       cf. 가로(세로) 너비가 있는 요소의 가운데 정렬하는 데에 활용한다 !

                  단축속성이기 때문에 1개의 값을 설정하면 순서대로 top & bottom & left & right의 값을 의미

                                                                                               ex. margin : 10px; => 상, 우, 하, 좌의 값이 모두 10px 

                                                         2개의 값을 설정하면 순서대로 top & bottom, left & right의 값을 의미

                                                                                               ex. margin : 10px  20px; => 상하의 값이 10px, 좌우는 20px 

                                                         3의 값을 설정하면 순서대로 topleft & right , bottom의 값을 의미

                                                                                               ex. margin : 10px  20px 30px;

                                                                                                                => 상의 값이 10px, 좌우는 20px, 하는 30px

                                                         4의 값을 설정하면 순서대로 top, right, bottom, left의 값을 의미

                                                                                               ex. margin : 10px  20px, 30px, 40px;

                                                                                                                => 상의 값이 10px, 우는 20px, 하는 30px, 좌는 40px 

 

 

 

<실습>

 

cf. 마진에 음수를 주는 경우 위와 같이 요소들이 겹쳐지게 되는데, 

                                                   세번째 요소는 다 보이고,

                                                   그 밑의 두번째 요소는 밑에 부분만 세번째 요소로 20px만큼 겹쳐서 80px로 보이고,  

                                                   제일 밑의 첫번째 요소는 

 

 

 

 

padding : 요소의  여백(공간)을 지정하는 단축 속성

                    cf. padding-방향(상하좌우) - 개별 속성

                    패딩을 적용하게 되면 요소의 크기가 커진다 !

           

       

                   

                    cf. 패딩을 % 단위의 값으로 주게 되면 부모 요소의 가로 너비에 대한 비율로 지정된다 !

                    cf. padding-방향(상하좌우) - 개별 속성 이고,  margin과 같은 방식으로 지정한다.

 

 

 

 

 

 

자바스크립트

 

메소드 체이닝 (Method Chaining) : 메소드를 체인처럼 연결해서 쓰는 것을 가리키는 말

                                                                    메소드들을 다 분리해서 적용하도록 작성하면 코드가 길어지니까,

                                                                    좀 더 간단하고 깔끔하게 작성하기 위해 사용하는 방법.

 

 

const b는 변수 a에 메소드 split를 호출하고 그 뒤에 reverse와 join 매소드를 연달아 붙이고 있다. (메소드 체이닝)

                                     이 3 개의 메소드가 다 실행되고 나서 b라는 변수에 저장되는 것.

 

 

 

cf. null : 값이 의도적으로 비어있음을 의미하는 데이터

 

     

     { } : 객체 데이터(Object)

       cf. 객체 데이터에서 없는 속성의 속성값을 출력하려고 하면, 값(데이터) undefined가 출력된다. 

 

 

     인수(argument) : 함수가 호출될 때 함수 내부로 들어가지는 값(데이터)

       cf. 매개변수(parameter) : 이 값(함수를 호출해서 전달받은 인수)을 함수 내부로 전달하는 변수

 

 

     익명 함수(Anonymous Function) : 이름이 별도로 없는 함수

 

 

     goodbye 이름의 함수표현과 호출 : const goodbye = function ( ) { };        // 익명 함수기 때문에 정상적으로 호출  

                                                                       goodbye( );                                               // 할 수 가 없으므로,  호출할 수 있도록

                                                                                                                                             // goodbye 라는 이름의 변수에 할당 !

 

 

     메소드(Method) : 객체 데이터의 속성 중 그 속성(- key 키)의 값(- value 밸류)로 함수가 할당된 속성(Property)

      ex. const user = {                                              // 변수 user에 담긴 객체 데이터의 속성 getName가 메소드 !

                 getName: fucntion ( ) { }                    // ∵ 키 getName의 밸류가 (익명)함수이므로.

              }

 

 

     defer : 가져온 JS 파일을 HTML 문서 분석 이후에 실행하도록 지시하는 HTML 속성 

 

 

    <div id="nColor">무지개</div> 라는 요소의 내용을 콘솔 출력하려면?

     const nColorEl = document.querySelector('#nColor');         // HTML의 선택자 변수에 담기

     console.log(nColorEl.textContent);                                               // 그 변수(요소)에 textContent 속성 추가해 출력

                                                                                                             cf. textContent : 요소의 갖고 있는 내용을 확인할 수 있음

 

 

      let: 값(데이터)을 재할당할 목적의 변수를 선언하는 키워드

          cf. const: 값(데이터)을 재할당하지 않을 목적의 변수를 선언하는 키워드

 

 

      const nColorEl = document.querySelector('#nColor'); 라는 코드의

      nColorEl 요소에 클릭(Click)이벤트를 추가해서, 클릭할 때 'Good bye'를 콘솔 출력하려면?

      nColorEl.addEventListener('click', function ( ) {

          console.log('Good bye');

       });

        cf. 위의 익명 함수 function ( ) 을 핸들러라고 하고, 'click'이라는 이벤트가 발생하면 핸들러의 내용이 작동된다.

 

 

       <div>1</div>

       <div>2</div>

       위 2개의 div 요소에 JS로 class='goodBye'를 추가하려면?

       const divEls = document.querySelectorAll('div');   // 변수 divEls에는 여러 개의 데이터가 저장되고, 

       divEls.forEach(fuction (divEl) {                                        // 배열 형태로 저장(완벽한 배열이 아닌 유사 배열)한 것을

           divEl.classList.add('goodBye');                                   // forEach 메소드로 익명함수를 인수로 추가

        });                                                                                                 // divEls의 forEach로 각각의 반복되는 실제의 요소들을 

                                                                                                             // divEl이라는 매개변수로 받아줄 수 있다 ! divEl에다

                                                                                                             // classList : HTML class의 정보를 가지고 있는 객체 !를

                                                                                                             // 를 적용하고, 그 안에서 add라는 메소드를 실행                                                                                                                                                       // (goodBye라는 클래스를 추가)

 

 

        const nColorEl = document.querySelector(.nColor'); 라는 코드의

        nColorEl 요소에 HTML 클래스 속성의 값으로 'active'가 포함되어 있으면, '포함됨!'을 콘솔 출력하려면?

       if (nColorEl.classList.contains('active')) {                    // 조건에  해당되면 true가, 해당되지 않으면 false가 반환

           console.log('포함됨!');

        }

    

 

 

                                                                                        

 

 

 

 

 

                                       

                                                       

                                                                                               

         

 

'컴퓨터 사이언스 > TIL 정리' 카테고리의 다른 글

MGS Day 09  (0) 2022.07.08
반응형 웹 사이트 만들기  (0) 2022.07.06
MGS Day 07  (0) 2022.07.06
HTML-CSS 가상 요소 선택자(Pseudo-Elements)  (0) 2022.07.04
HTML-CSS 가상 클래스 선택자(Pseudo-Classes)  (0) 2022.07.04