독학/html

html 독학1

나아눙 2022. 8. 17. 19:54

ex1.html

<!<!DOCTYPE html>
<html lang="ko">
<head>
  <meta charset = "UTF-8">
  <title>나의 첫웹페이지</title>
</head>

 

<body>

<header>
    <p>header</p>

    <nav></nav>

</header>

 

<main>
     <section>
     <p>section</p>


     <article>

        <p>article</p>

       </article>


     </section>


    <aside>

        <p>aside</p>

    </aside>
  </main>

 

    <footer>
   <p>footer</p>
    </footer>

</body>

 

웹페이지 구조를 짰어요

 

article vs section

article 내용이 독립적이고 홀로 설수 있는 내용

section 서로 관계있는 문서를 분리하는 역할

 

여러개의 section을 article로 묶을 수도있고

마찬가지로 여러개의 article을 section으로 묶을 수 있다.

 

section vs div

내용 관계 O -> section

의미적으로 관계 X -> div 

 

strong vs b

strong 해당 콘텐츠의 중요성 강조

b 텍스트 자체 강조

 

em vs i

em 의미적인 강조

i 단순 문자열

 

스크린 리더에서 또렷한 차이를 볼 수 있다.

 

strong vs em

em 구어체 강조와 같이 문장의 의미를 변경하는 데 사용

strong 문장의 일부분에 중요성추가

 

<h3>웹이란?</h3>
      <blockquote cite=https://nemne.tistory.com/23>   //인용문
        <p><strong><em>웹사이트(Website)</em></strong>는 HTTP <i><u>프로토콜</u></i>을 써서 어떤 <s>URL</s>에서 받아오는  텍스트굵게/텍스트 기울임                                            텍스트기울임/텍스트밑줄                    텍스트취소선 
          <abbr title ="Hyper Text Markup Language">HTML</abbr>로 쓰인[1] 문서이다.</p> //줄임말
        <cite>  //참고내용
          <b>[나무위키]</b>  //텍스트굵게
        </cite>
      </blockquote>

 

 

<nav>
      <ul> //순서가 없는 목록
      <li><a href="ex2.html">html</a></li>
      <li><a href="">css</a></li>
      <li><a href="">JavaScript</a></li>
      </ul>


      <ol type="a"> //순서가 있는 목록

ex) type =1(숫자),a(영문소문자),A(영문대문자),i(로마 숫자 소문자),I(로마 숫자 대문자) ,start=3 3부터 시작
        <li><a href="">html</a></li>
        <li><a href="">css</a></li>
        <li><a href="">JavaScript</a></li>
      </ol>


      <dl>
         <dt>frontend</dt> //설명할 용어
        <dd>html</dd> //설명할 내용
        <dd>css</dd>
        <dd>JavaScript</dd>
      </dl>
      </nav>

table 만들기

 

<table border="1">
        <colgroup> //여러열 지정
        <col style="background-color:greenyellow"> //첫번째 열 스타일 지정
        <col span="2" style="background-color:pink"> //동일한 스타일로 두번째,세번째 스타일 지정
        </colgroup>
       <caption>표제목</caption> //표제목
       <thead> //표중 제목
      <tr> //행 삽입
     <th scope="col">이름</th> //셀 삽입(진하게 표시)
     <th scope="col">학과</th>
     <th scope="col">등급</th>
     </tr>
      </thead>


      <tfoot> //표중 요약
      <tr>
         <th colspan="2" scope="row">전체평균</th> //2개의 열 합치기
         <td>A</td> //셀 삽입
      </tr>
      </tfoot>

    <tbody> //표중 본문
     <tr>
     <th scope="row">sy</th>
     <td>정보통신공학</td>
     <td>A</td>
    </tr>

    <tr>
    <th scope="row">ys</th>
    <td>컴퓨터공학</td>
    <td>A</td>
   </tr>
    </tbody>

    </table>

 

  <p><code> //소스 코드 표시
      word = "hello world"<br>
      print(word)<br>
      exit()
      </code></p>

 

      <p>
      Hello world <sub>Hello world</sub><br> //아래첨자
      Hello world <sup>Hello world</sup><br> //위 첨자
      Hello world <small>Hello world</small><br> //작은 텍스트
      </p>

 

 

<p> html태그 <del>독학</del> <ins>공부중</ins>입니다.</p>

                      //공동작업문서에 기존 내용 삭제 , 새로운 내용 삽입

이미지 삽입

<img src="coding.jpg" width="350" height="280" alt="coding" title="코딩">

       이미지 파일 경로  가로 세로 크기 조절(%,px) 대체용 텍스트

 

오디오,비디오 등 멀티미디어파일 삽입

ex)

 

<object type="application/pdf"
    data="/media/examples/In-CC0.pdf"
    width="250"
    height="200">
</object>

 

<iframe>  </object> 사용할수 없을 때 사용하는 퇴화태그,업데이트 X

<object> 실시간 업데이트 O

<embed> object 태그와는 달리 닫기태그가 없으므로 자식 태그 둘수 없음

ex)

<embed src="URL주소">

 

예전에는 웹에서 음악파일을 재생하거나 비디오 파일을 재생하려면 별도의 프로그램(플러그인)을 설치하여 실행

 

플러그인 필요없이 브라우저에서 바로 재생하는 태그

<audio src="오디오 파일 경로"></audio>

<video src="비디오 파일 경로"></video>

  • src : 비디오 파일의 주소
  • controls : 컨트롤러 표시
  • autoplay : 자동 재생
  • loop : 반복 재생
  • width : 영상의 가로길이
  • height : 영상의 세로길이
  • muted : 음소거

<article>
       <p>article</p>
       <img src="coding.jpg" width="350" height="280" alt="coding" title="코딩"/>
       <p><a href="https://www.naver.com/" target="_blank>"네이버로이동</a></p>
       <p><a href="https://www.naver.com/" target="_blank>">
         <img src="star.jpg" width="350" height="280" alt="star" title="naver"/></a></p>
     </article>

이미지 삽입

텍스트 링크

이미지 링크(사진 누르면 naver로 이동)

 

form 기본형

method 

get: 사용자 입력 내용이 드러나게 서버로 넘겨줌

데이터가 외부에 노출되어 보안에 취약

http메소드 정의에서 get방식은 지정된 리소스에서 데이터를 요청하는 경우인 읽을때 사용하는 메소드 

post:사용자 입력 내용이 드러나지 않게 서버로 넘겨줌

보안에 취약하지 않음(개인정보나 보안에 이용)

http메소드 정의에서 post방식은 지정된 리소스에서 데이터를 처리할 경우인 수정,삭제할때 사용하는 메소드

 

name:자바스크립트로 폼이름 지정

action: 서버 프로그램 지정

target:열어볼 파일 위치 지정

autocomplete :자동 완성 기능 지정(기본값 on)

 

<fieldsest> 폼 내부에서 구역을 나눔

                   <legend> 구역 제목 붙이기

 

input 태그 

type:태그 모양을 다양하게 변경

name:태그이름 지정

readonly:태그 읽기전용

maxlength:해당 태그 최대 글자 수 지정

required:해당 태그가 필수 태그로 지정

autofocus:웹페이지가 로딩되자마자 이 속성을 지정한 태그로 포커스가 이동

placeholder:태그에 입력할 값에 대한 힌트를 줌

pattern:정규표현식을 사용하여 특정범위 내의 유효한 값을 입력 받을때 사용

 

ex2.html

ex1)

fieldset 태그는 관련된 입력 양식들을 그룹화

legend 태그는 fieldset 태그 내에서 사용되어야 하며 그룹화된 fieldset의 제목을 정의

<form name="profile" action="/action_page.php" method="get" autocomplete="on">
  <fieldset style = "width:150"> //폼 내부에서 구역 나눔
    <legend>반려견 정보</legend> //구역 제목 붙이기
       이름: <input type="text" name="name"><br>
       나이: <input type="text" name="age"><br>
 </fieldset>
 <br>
 <fieldset style ="width:180; height:110">
   <legend>상세사항</legend>
      성격:<input type="text" name="personality"><br>
      좋아하는 놀이:<input type="text" name="hobby"><br>
</fieldset>
</form>

ex2)

<form action="#" accept-charset="utf-8" name="person" method="get">
 <fieldset style = "width:150">
   <legend>개인정보</legend>
   이름: <input type="text" name="name" required/><br>
   전화번호: <input type="text" name="number"
   pattern="\d{3}\-\d{4}-\d{4}"
   title="010-1234-1234 형식으로 입력해주세요"><br>

   아이디:<input type="text" name="id" value="id"/><br>
   비밀번호:<input type="password" name="password"/><br>

   성별 : 남<input type = "radio" name="gender"/>
          여<input type = "radio" name="gender"/><br>

   운동: 헬스<input type = "checkbox" name="checkbox1" />
           요가<input type = "checkbox" name="checkbox2"/>
           크로스핏<input type = "checkbox" name="checkbox3" /><br>


  <input type = "submit" value = "submit"/>
  <input type = "reset" value = "reset"/><br>
   </fieldset>
</form>

 

ex3) 목록태그 <select> ,<optgroup>,<option>

  <form action="#" accept-charset="utf-8" name="life" method="get">
  <fieldset style = "width:150">
    <legend>지역</legend>
    <select name="city1" size="5" multiple>
      <option value ="seongnam-si">성남시</option>
      <option value ="suwon-si">수원시</option>
      <option value ="yongin-si">용인시</option>
      <option value ="anyang-si">안양시</option>
      <option value ="gwacheon-si">과천시</option>
      <option value ="uiwang-si">의왕시</option>
    </select>
    <br>

    <select name="city2">
      <optgroup label = "서울">
      <option value ="seongnam-si">성남시</option>
      <option value ="suwon-si">수원시</option>
      <option value ="yongin-si">용인시</option>
      </optgroup>

      <optgroup label = "경기도">
      <option value ="seongnam-si">성남시</option>
      <option value ="suwon-si">수원시</option>
      <option value ="yongin-si">용인시</option>
      </optgroup>
    </select>
    <br>
    <input type ="submit" value = "submit"/>
    <input type = "reset" value = "reset" />
    </fieldset>

  </form>

ex4) 여러줄 글상자<textarea>

<form action="#" accept-charset="utf-8" name="question" method="get">
    <fieldset style = "width:250">
      <legend>입력</legend>
        문의<br>
        <textarea name ="content" cols="50" rows="5"
                  placeholder="문의사항을 입력해주세요"></textarea>
       <br>
       <input type="submit" value="submit"/>
       <input type="reset" value="reset"/><br><br>
    </fieldset>
  </form>

ex5)입력값 후보

리스트에서 어느 한가지를 선택하거나 키워드에 입력할 수 있다.

  <form action="#" accept-charset="utf-8" name="dog" method="get">
    <fieldset style = "width:250">
      <legend>입력 값 후보</legend>
        <br>
        좋아하는 강아지 입력<br>
        <input type="text" name="dog" list="dog">
        <datalist id="dog">
          <option value="말티즈">maltese</option>
          <option value="푸들">poodle</option>
          <option value="리트리버">retriever</option>
        </datalist>
       <br>
       <input type="submit" value="submit"/>
       <input type="reset" value="reset"/><br><br>
    </fieldset>
  </form>

ex6) input 태그에서 date

<form action="#" accept-charset="utf-8" name="date" method="get">
  <fieldset style = "width:250">
    <legend>달력</legend>
    <br>날짜입력<br>
    <input type="date" min="2000-01-01" max ="2023-01-01" name="date" step="1"><br>
    <input type="submit" value="submit"/>
    <input type="reset" value="reset"/><br>
  </fieldset>
</form>

ex7)input 태그에서 number 와 range

<form action="#" accept-charset="utf-8" name="choice" method="get">
  <fieldset style = "width:350">
    <legend>number</legend>
    number : <input type="number" min="0" max ="100" step="5" name="number">
  </fieldset>
  <br>
  <fieldset style = "width:350">
    <legend>range</legend>
    range : <input type="range" min="0" max ="100" step="5" name="range">
  </fieldset>
  <br>
  <input type="submit" value="submit"/>
  <input type="reset" value="reset"/>
</form>

 

ex8)input 태그에서 color

<form action="#" accept-charset="utf-8" name="choice" method="get">
  <fieldset style = "width:350">
    <legend>color</legend>
      color : <input type ="color" color="color">
  </fieldset>
  <br>
  <input type="submit" value="submit"/>
  <input type="reset" value="reset"/>
</form>

<label for="fruitItem">여기를 클릭하시오</label>
<input id="fruitItem" type="checkbox" />

여기를 클릭하시오에 클릭했더니 checkbox가 표시된다.

for 쓰지않고 label 사용

<form name="selectexercise">
  <ul>
    <li>
      <label><input type="checkbox" />헬스</label>
    </li>
    <li>
       <label><input type="checkbox" />필라테스</label>
    </li>
  </ul>
</form>

<button type="button" onclick="alert('완료')">
   Click Me!
</button>

클릭하기
alert이 뜬다