앨리스 SW 엔지니어 트랙/1주차

Day 1

지금은 망나뇽 2023. 2. 27. 14:40

#1. 크롬 개발자 도구

 

- 단축키 (F12)

- Computed 탭

현재 요소 스타일이 더 보기 좋게 나옵니다.

Group 체크박스를 클릭하면 한층 더 깔끔하게 스타일 속성을 확인할 수 있습니다. 

 

- Network 탭

현재 탭에 있는 웹 브라우저 네트워크 분석현황을 볼 수 있습니다.
서버로 부터 요청한 파일을이 어떤 순서대로 응답받는지 나오고, 해당 내용도 살펴볼 수 있습니다.
응답받은 파일을 종류별로도 확인할 수 있습니다.

 

- Application 탭

스토리지와 쿠키를 확인해 볼 수 있습니다.

스토리지는 웹 브라우저가 프로토콜별(간단하게 웹주소)로 데이터를 저장할 수 있는 공간입니다.

쿠키는 서버에서 웹브라우저에게 전송하는 작은 데이터 조각입니다.

 

#2. 웹을 구성하는 요소

 

- HTML(정보 또는 설계도) CSS(디자인 또는 스타일링) Javascript(기능과 효과)

- 웹사이트 제작시 고려 사항

1) 웹 표준

웹 사이트를 작성할 때 따라야 하는 공식 표준이나 기술 규격

2) 웹 접근성

장애의 여부와 상관 없이 모두가 웹사이트를 이용할 수 있게 하는 방식

3) 크로스 브라우징

모든 브라우저 또는 기기에서 사이트가 제대로 작동하도록 하는 기법

 

#3. HTML 기본 태그

- HTML이란? 웹 사이트에서 눈에 보이는 정보나 특정 구역을 설정할 때 사용하는 언어

- <!DOCTYPEhtml> : HTML5라는 신조어로 문서를 선언하는 태그

- <head> : 웹 사이트의 간단한 요약 정보를 담는 영역. 웹 사이트에서 노출되지 않는 정보

- <body> : 웹 사이트에서 눈에 보이는 정보를 담는 영역. 이미지나 텍스트처럼 출력되는 정보

- <meta charset="UTF-8"> : 모든 문자를 웹 브라우저에서 깨짐 없이 표시하겠다는 의미

- <p> : 본문 내용을 표현. 웹 사이트의 중요 정보를 담는 태그

- <a> 

1) 텍스트, 이미지를 클릭했을 때 다른 웹 페이지로 이동시키는 기능

<a href="https://academy.elice.io/" target="_blank">엘리스</a>

2) href : 연결할 웹 페이지의 URL 주소

3) target : 웹 페이지를 연결하는 방식

- <ol> : 순서가 있는 리스트

- <ul> : 순서가 없는 리스트

<!DOCTYPE html>
<html>

<head>
    <meta charset="UTF-8">
    <title>TEST</title>
</head>

<body>
    <h1 style="color:navy">안녕 엘리스!</h1>
    
    <a href="https://www.naver.com" target="_blank">네이버</a>
  	<img src="elice_logo.png" alt="엘리스 회사 로고">
  
    <p>동해물과 백두산이 마르고 닳도록...</p>

  	<ol>
          <li>메뉴1</li>
          <li>메뉴2</li>
          <li>메뉴3</li>
  	</ol>

  	<ul>
          <li>메뉴1</li>
          <li>메뉴2</li>
          <li>메뉴3</li>
  	</ul>
  
  	<ul>
          <li><a href = " ">홈</li>
          <li><a href = " ">회사 소개</li>
          <li><a href = " ">연락처</li>
  	</ul>
    
</body>

</html>

#3. 구조를 잡을 때 사용하는 태그

 

- <header> : 웹 사이트의 머리글을 담는 공간

- <nav> : 메뉴 버튼을 담는 공간

- <main> : 문서의 주요 내용을 담는 태그. IE는 지원하지 않으므로 role="main" 속성 필수 입력

- <article> : 문서의 주요 이미지나 테스트 등의 정보를 담고 구역을 설정하는 태그. 태그 안에 <h#> 태그 필수

- <footer> : 가장 하단에 들어가는 정보를 표기할 때 사용

- <div> : 임의의 공간을 만들 때 사용

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>엘리스 :: elice</title>
</head>
<body>
  <header>
      <h1><img src="elice_logo.png" alt="앨리스 로고"></h1>
      <nav>
        <li><a href="#">홈</a></li>
        <li><a href="#">회사 소개</a></li>
        <li><a href="#">연락처</a></li>
      </nav>
  </header>
  <main role="main">
      <article>
          <h2>회사 소개</h2>
          <p>
              회사 소개와 관련된 본문 내용
          </p>
      </article>
  </main>
  <footer>
      <div>
          <p>서울시 서초구</p>
      </div>
      <div>
          <p>010-111-2222</p>
      </div>
  </footer>
</body>
</html>

#4. HTML 태그의 두 가지 성격

 

- Block 요소 (<p>, <h#> 등)

1) y축 정렬 형태로 출력 (줄바꿈 현상이 나타남)

2) 공간을 만들 수 있고, 상하 배치 작업 가능 (width, height 설정 가능)

 

- Inline 요소 (<a> 등)

1) x축 정렬 형태로 출력 (한 줄에 출력)

2) 공간을 만들 수 없고, 상하 배치 작업 불가능

<!DOCTYPE html>
<html>
<head>
  <meta charset="UTF-8">
  <title>Block, Inline</title>
</head>
<body>
  <h1>Hello</h1>
  <h1>Hello</h1>
  <h1>Hello</h1>
  <a>Bye</a>
  <a>Bye</a>
  <a>Bye</a>
</body>
</html>

#5. CSS

 

- CSS 구성 요소 : 선택자 {속성 : 속성값;} 

- 선택자 : 디자인을 적용할 HTML 영역. HTML의 어떤 요소에 CSS를 적용 할 것인가

1) Type (HTML 태그)

<style>
	h1 {color: red;}
</style>

2) Class (HTM 태그 별명)

<!-- <h2 class="coding"> Hello World </h2> -->
<style>
	.coding {color: red;}
</style>

3) ID (HTML 태그 이름)

<!-- <h2 id="coding"> Hello World </h2> -->
<style>
	#coding {color: red;}
</style>

- CSS 연동 방법

1) Inline Style Sheet

<h1 style="color: red;"> coding 101 </h1>

2) Internal Style Sheet

<head>
<style>
	h1 {backgroung-colorL yellow;}
</style>
</head>

3) External Style Sheet

<head>
	<link rel="stylesheet" href="style.css">
</head>

- 부모 자식 형제 관계

# 6. 캐스케이딩

 

- CSS를 적용하는 우선순위

- CSS의 우선순위를 결정하는 세 가지 요소

1) 순서

p {color: red;}
p {color: blue;}

나중에 적용한 속성값의 우선순위가 높으므로 p태그 속 컨텐츠는 blue로 표기된다.

2) 디테일

header p {color: red;}
p {color: blue;}

더 구체적으로 작성된 선택자의 우선순위가 높으므로 header 속  p 태그 속 컨텐츠는 red로 표기된다.

3) 선택자

style (Inline Style Sheet) > id > class > type 순으로 우선순위가 높다.

 

#7. CSS 주요 속성

 

- width (고정값 : %, 가변값 : px), height

- border (특정 공간의 테두리 값)

1) border-style : 실선 (solid), 점선 (dotted)

2) border-width : 테두리의 두께 (px를 주로 사용함)

3) border-color : 테두리의 색깔

4) 한 줄로 작성 가능 (쉼표는 사용 X)

.paragraph {
width: 500px;
height: 500px;
border: solid 10px red;
}

#8. 박스 모델

- margin과 padding 작성 방법 : top right bottom left 순서로 한 줄에 작성 가능

div {margin: 100px 0 0 100px;}

-형제지간의 마진 병합

.box1 {margin-bottom: 150px;}
.box2 {margin-top: 100px;}

숫자가 큰 값으로 병합되므로 공유하는 margin이 150px로 설정된다 (250px).

 

- 부모 자식간의 마진 병합

<main role="main">
	<article>
	</article>
</main>
article {
	width:200px;
	height: 200px;
	margin-top: 100px;
}

자식인 <article> 뿐만 아니라 부모인 <main>에도 영향을 미친다.

- https://velog.io/@ursr0706/%EB%A7%88%EC%A7%84margin

 

마진 병합 현상(Margin Collapsing)

마진의 병합현상과 의도하지 않은 마진병합현상을 제거하는 방법에 대한 정리

velog.io

 

#9. Block 요소와 Inline 요소

 

- Block 

1) <p>, <div> 태그가 대표적

2) 줄바꿈 현상이 나타남 (y축 정렬)

3) width, height 값 사용 가능 (공간 만들기 가능)

4) margin 과 padding 값 사용 가능 (상하 배치 작업 가능)

 

- Inline

1) <a>, <span> 태그가 대표적

2) x축 정렬

3) width, height 값 사용 불가능

4) margin 과 padding 값 사용 불가능

 

- inline-block

1) x축 정렬

2) width, height 값 사용 가능 (공간 만들기 가능)

3) margin 과 padding 값 사용 가능 (상하 배치 작업 가능)

#10. 레이아웃에 영향을 미치는 CSS 속성

 

- float : 선택된 요소를 왼쪽 끝 혹은 오른쪽 끝에 정렬시키고자 할 때 사용

- clear

1) float에 대한 속성을 제어하고자 할 때

2) clear의 속성값 both는 float: right과 float: left 두 속성값 모두 제어하겠다는 의미입니다. 따라서 만약 float:left만 사용되었다면, clear:left를 써도 됩니다.

#11. 쇼핑몰 만들기

 

- 쇼핑몰 상단 영역 만들기

<!DOCTYPE html>
<html>
<head>

  <meta charset="UTF-8">
  <title>쇼핑몰 상단 만들기</title>
  
  <link rel="stylesheet" href="index.css">  

  <style>
    * {
        margin: 0;
        padding: 0;
    } 
    .container {
        width: 960px;
    }
    ol, ul {
        list-style: none;
    }
    a {
        text-decoration: none;
        color: #000;
    }
    #intro {
        width: 100%;
        height: 80px;
    }
    #intro h1 {
        float: left;
        width: 50%;
        height: 80px;
        background-color: #fbfbfb;
    }
    #intro h1 a {
        display: block;
        padding: 22px 0 0 30px;
        font-size: 30px;
    }
    #intro nav {
        float: right;
        width: 50%;
        height: 80px;
        background-color: pink;
    }
    #intro nav ul li {
        width: 33.33333%;
        height: 80px;
        float: left;
        text-align: center;
        line-height: 80px;
    }
    #intro nav ul li.one {
        background-color: #efeff6;
    }
    #intro nav ul li.two {
        background-color: #dcdcec;
    }
    #intro nav ul li.three {
        background-color: #cbcae3;
    }
    #intro nav ul li a {
        font-size: 20px;
        font-weight: bold;
    }
  </style>

</head>
<body>

  <div class="container">

    <header id="intro">

        <h1>
            <a href="https://academy.elice.io/">엘리스 사전</a>
        </h1>
        
        <nav>
            <ul>
                <li class="one"><a href="#">캐릭터 소개</a></li>
                <li class="two"><a href="#">줄거리</a></li>
                <li class="three"><a href="#">부록</a></li>
            </ul>
        </nav>

    </header>

  </div>

</body>
</html>

- 쇼핑몰 본문 영역 만들기

<!DOCTYPE html>
<html>
<head>

  <meta charset="UTF-8">
  <title>쇼핑몰 본문 만들기</title>
  
  <link rel="stylesheet" href="index.css">  
  
  <style>
    #main article {
        width: 50%;
        height: 320px;

        float: left;
    }
    #main article a {
        display: block;

        width: 100%;
        height: 100%;
    }
    #main article.one {
        background-color: #532fa1;
    }
    #main article.two {
        background-color: #a44789;
    }
    #main article.three {
        background-color: #3ab6bc;
    }
    #main article img {
        width: 100%;
    }
    #main article h2 {
        color: #fff;
        font-size: 25px;

        text-align: center;
        padding: 10px 0;
    }   
    #main article.text {
        width: 100%;
        height: 66px;
    }
    #main article.text p {
        text-align: center;
        font-size: 20px;
        font-weight: bold;
        padding: 20px 0;
        border: solid 1px #000;
    }
  </style>
</head>
<body>

  <div class="container">

    <header id="intro">

        <h1>
            <a href="https://academy.elice.io/">엘리스 사전</a>
        </h1>
        
        <nav>
            <ul>
                <li class="one"><a href="#">캐릭터 소개</a></li>
                <li class="two"><a href="#">줄거리</a></li>
                <li class="three"><a href="#">부록</a></li>
            </ul>
        </nav>

    </header>


    <main role="main" id="main">

        <article class="one">
            <a href="#">
                <img src="image1.png" alt="White Rabbit">
                <h2>하얀토끼</h2>
            </a>
        </article>
        
        <article class="two">
            <a href="#">
                <img src="image2.png" alt="Cheshire Cat">
                <h2>체셔 고양이</h2>
            </a>
        </article>
        
        <article class="three">
            <a href="#">
                <img src="image3.png" alt="Queen of Hearts">
                <h2>하트여왕</h2>
            </a>
        </article>
        
        <article class="one">
            <a href="#">
                <img src="image4.png" alt="Mad Hatter">
                <h2>모자장수</h2>
            </a>
        </article>
        
        <article class="text">
            <p>엘리스에 오신 여러분 환영합니다! :)</p>
        </article>

        <article class="two">
            <a href="#">
                <img src="image5.png" alt="Dodo">
                <h2>도도새</h2>
            </a>
        </article>
        
        <article class="three">
            <a href="#">
                <img src="image6.png" alt="Caterpillar">
                <h2>애벌레</h2>
            </a>
        </article>
        
        <article class="one">
            <a href="#">
                <img src="image7.png" alt="Card Soldier">
                <h2>카드병정</h2>
            </a>
        </article>

        <article class="two">
            <a href="#">
                <img src="image8.png" alt="Golden Key">
                <h2>황금열쇠</h2>
            </a>
        </article>

    </main>

  </div>

</body>
</html>

- 쇼핑몰 하단 만들기

<!DOCTYPE html>
<html>
<head>

  <meta charset="UTF-8">
  <title>쇼핑몰 하단 만들기</title>
  
  <link rel="stylesheet" href="index.css">
  
  <style>
    #footer {
        clear: both;
        width: 100%;
        height: 80px;
        background-color: #f9f9f9;
    }
    #footer .copyright {
        float: left;
        width:50%
    }
    #footer .address {
        float: right;
        width: 50%;
    }
    #footer .copyright p {
        font-size: 14px;
        color: #999;
        padding: 32px 0 0 40px;
    }
    #footer .address p {
        font-size: 14px;
        color: #999;
        padding: 32px 40px 0 0;
        text-align: right;
    }
  </style>
</head>
<body>
<footer id="footer">
    <div class="copyright">
        <p>Copyright © 2016-2020 elice. All rights reserved.</p>
    </div>
    <div class="address">
        <p>대전광역시 유성구 문지로 193 KAIST 문지캠퍼스 진리관 T326호</p>
    </div>
</footer>
</body>

#이해안가는 것

모듈과 컴포넌트의 차이

'앨리스 SW 엔지니어 트랙 > 1주차' 카테고리의 다른 글

Day 2  (0) 2023.03.01