본문 바로가기
Frontend/HTML

HTML(아이프레임, 폼, 디스플레이 태그)

by code2772 2022. 10. 26.

[ 목차 ]

    728x90
    반응형

    ✔ 아이프레임

    아이프레임
    - inline frame의 약자
    - 웹사이트 안에 또 다른 웹사이트를 삽입
    
       <iframe src ="삽입할 페이지의 주소 또는 문서위치" style = " 크디를 설정할 xss 코드">

    ✔ 아이프레임 코드

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>아이프레임</title>
    </head>
    <body>
        <h2>아이프레임</h2>
        <p><a href="./index.html">홈페이지</a> &nbsp<a href="/news.html "target =" _black">뉴스기사(새탭)</a>&nbsp<a href="/resum.html" target="_blackf">이력서(새탭) 즐겨찾기
    
        <p><iframe src ="./index.html" style = "width:100%; height : 800px; border : 3px dashed red" name="if"></iframe></p>
        
    </body>
    </html>

    ✔ 폼 태그

    폼 태그
    - 웹 페이지에서 사용자로부터 입력을 받을 때 사용하는 태그
    - 사용자가 입력한 데이터를 서버로 보낼 때 form 요소를 사용
    - 데이터를 묶어 보낸다.
    
       <form action="서버에게 전달할 파일위치" method="전송방법">
          form 태그 안에  form 요소를 통해 데이터를 서버로 전달
       </form>
    
    
    입력 상자 <input>
    type 속성
    text : 문자를 입력받는 글상자
    
    password : 비밀번호를 입력받는 글상자
    
    radio : 여러개의 옵션 중에서 단 하나의 옵션만을 입력받을 수 있도록 하는 버튼
       - 그룹을 맺기 위해서 name 속성의 값이 동일해야 함
    
    checkbox : 여러개의 옵션 중에서 다수의 옵션을 입력받을 수 있도록 하는 버튼
    
    file : 원하는 파일을 서버로 전송하기 위한 글상자
    
    email : 이메일을 입력받는 글상자(@필요)
    
    url : 웹사이트를 입력받는 글상자(http 필요)
    
    tel : 전화번호를 입력받는 글상자(모바일에 숫자 키페드 사용)
    
    date : 원하는 날짜를 입력받는 글상자
    
    number : 원하는 숫자를 입력받는 글상자
       <input type = "number" min ="최솟값" max="최대값" step="증가값">
    
    color : 원하는 색상을 입력받는 요소
       - 선택한 색상은 16진수 RGB컬러값으로 서버에 전달
    
    search : 검색어를 입력받는 글상자
    
    range : 일정 범위안에 값만을 입력하는 조절바
       <input type ="range" min="최솟값" max="최대값" value="현재값">
    
    hidden : 보이지는 않으나 서버에 값을 전달하고 싶을 떄 사용하는 요소
    
    button : 이벤트가 없는 일반버튼
    
    reset : 입력받은 데이터를 초기화 하는 버튼
    
    submit : 입력받은 데이터를 서버에 제출하는 버튼
    

     

    속성
    name : 요소의 이름을 설정, 서버에서 값을 전달 받을 때 키로 사용
    
    id :  요소의 유일한 이름을 설정, HTML문서에서 해당 요소의 스타일을 주거나 동적인 프로그래밍을 할 때 사용(하나의 HTML 문서에서 다른 요소와 값이 같을 수 없음) - 사이즈, 색상, 여러가지 컨트롤을 원할 떄 사용하는 속성을 의미한다.(CSS,JSP에서 많이 사용)
    
    // name, id는 서로 다른 속성이기 때문에 동일한 이름을 사용가능하나 같은 속성끼리 id가 같으면 안된다.
    
    maxlength : 값의 최대 길이를 설정하는 속성
    
    placeholder : 입력 전 특정 데이터를 입력하도록 안내하는 값을 설정
    
    value : 서버로 전달될 입력양식의 값을 설정
    
    checked : 라디오 또는 체크박스 중에서 미리 선택하는 옵션을 설정
    
    readonly : 데이터를 볼 수 있으나 수정할 수 없게 설정
       - 서버로 데이터가 전달
    
    disabled : 입력필드를 사용할 수 없게 설정
       - 서버로 데이터가 전달되지 않음
    
    required : 데이터를 필수로 입력하도록 강제하는 설정
    

     

    라벨
    - 폼 양식에 이름을 붙이는 요소
    - 다른 요소를 연결하면 해당 영역이 넓어짐
    - radio, checkbox의 스타일을 설정
    
       <label for = "요소의 id">택스트 또는 이지밎</label>
    버튼
    - <button> 버튼에 쓰일 텍스트 </button>
    - 기본 기능은 <input type ="submit">
    - 일반 버튼으로 사용하려면 <button type ="button"></button>
    선택상자
    여러개의 옵션이 드롭다운 리스트로 되어 있으며 그 중에서 단 하나의 옵션만을 선택
    
       <select name ="">
          <option value = "" >아이템1</option>
          <option value = "" >아이템2</option>
          <option value = "" >아이템3</option>
       </select>
    
    
    여러 줄 글상자
    여러줄의 택스트를 입력받는 글상자
    
       <textarea = name ="">value</textarea>
    

    ✔ 폼 태그 코드

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>폼 태그</title>
    </head>
    <body>
        
    <H2>폼 태그</H2>
        <form action="#" method = "#">
    
            <p>아이디 : <input type="text" name="userid" id="userid" maxlength="20" placeholder="     아이디를 입력하세요"  required></p>
    
    
            <p>비밀번호 : <input type="password" name="userpw" id="userpw" maxlength="20" placeholder="    비밀번호를 입력하세요" required></p>
    
    
            <p>성별 : 
                <label for="male">남자</label> <input id = 'male' type="radio" name = "gender" value="남자" checked>
                <label for="female">여자</label> <input id ='female' type="radio" name = "gender" value="여자"></p>
    
            <p>취미 :
                <label for="h1">운동</label><input id ="h1" type="checkbox" name = "hobby" value = "운동"> 
                <label for="h2">드라이브</label><input id ="h2" type="checkbox"name = "hobby" value = "드라이브"> 
                <label for="h3">게임</label> <input id ="h3" type="checkbox"name = "hobby" value = "게임"> 
                 <label for="h4">등산</label> <input id ="h4" type="checkbox"name = "hobby" value = "등산">
                 <label for="h5">영화</label> <input id ="h5" type="checkbox"name = "hobby" value = "영화"></p>
    
          
            <p>첨부파일 : <input type="file" name ="file"></p>
            
            <p>이메일 : <input type="email" name = "email" placeholder="이메일을 입력하세요"></p>
    
            <p>웹사이트 : <input type="url" name ="url" placeholder="사이트 입력"></p>
    
            <p>휴대폰번호 : <input type="tel" name = "tel" placeholder="휴댜폰번호 입력"></p>
    
            <p>생년월일 : <input type="date" name="date" id=""></p>
    
            <p>좋아하는 숫자 : <input type="number" min ="0" max ="100" step ="1"></p>
    
            <p>좋아하는 색상 : <input type="color" name ="color"></p>
    
            <p>검색어 : <input type="search"name="search" placeholder="검색어를 입력하세요"></p>
    
            <p>프로그램 능력치 : <input type="range" min="0" max ="5" value ="3"></p>
    
            <input type="hidden" name ="idx" value="10">
    
            <p>우편번호 : <input type="text" name = "zipcode" value = "123" readonly></p>
    
            <p>주소 : <input type="text" nmae="addrress1"  disabled></p>
    
                <p>직업:
                    <select name = "job">
                        <option value="1">경찰</option>
                        <option value="2">개발자</option>
                        <option value="3">강사</option>
                        <option value="4">의사</option>
                        <option value="5">변호사</option>
                        <option value="6">선생님</option>
    
                    </select>
                </p>
    
                <p>자기소개</p>
                <p><textarea name="content" id="content" cols="30" rows="10" placeholder="자기소개 입력하세요"></textarea></p>
    
            <p><input type="submit" value ="전송"> <input type="reset" value = "초기화"> <input type="button" value ="눌러보세여" onclick="alert('하이!')"> </p>
    
    
    
           
    
        </form>
    
    </body>
    </html>

    폼 태그 출력 결과

    ✔ HTML 디스플레이

    HTML의 디스플레이
    1. inline
       - content 크기 만큼 자리를 차지하는 요소
       - 텍스트, img, span
       - 문자(텍스트)의 특딩을 가지고 있음
    
    2. block
       - 라인을 모두 차지하는 요소
       - p, h ul, li, div ......
       - 면의 특징을 가지고 있음
    
    span 태그
    - 줄 단위로 영역이 설정
    - 인라인 특징을 가지고 있음
    
    div 태그
    - 면 단위로 영역이 설정
    - block 특징으 가지고 있음
    
    
    
    
    시맨틱 태그
    - Semantic : 의미론적인
    - 의미가 있는 태그를 사용
    
    시맨틱 태그의 장점
    - 검색엔진 최적화
    - 스크린 리더를 사용하여 페이지를 탐색할 때 도움
    - div>div>div>div>div>....  끝없는 div를 탐색하는 것보다 효율적
    - 개발자에게 명확한 의미를 전달
    
    <header></header>
    페이지의 제목과 같은 소개 내용을 포함
    heading 태그나 로고 저작권정보, 검색양식, 작성자 이름등을 포함
    
    <nav></nav>
    메뉴, 목차등에 사용
    
    <main></main>
    지배적인 컨텐츠 영역을 나타내는 태그
    
    <section></section>
    구체적인 시맨틱 태그가 없는 문서의 독립적인 영역을 나타냄
    섹션에는 항상 제목이 있는 것이 일반적
    
    <article></article>
    자체적으로 의미가 있는 웹사이트 부분이며, 독립적으로 배포 또는 재사용되도록 의도된 문서
    게시물, 잡지 또는 신문기사
    
    
    <footer></footer>
    작성자에 대한 정보, 저작권 데이터 또는 관련 문서에 대한 링크, 카피라이트를 포함
    
    <aside></aside>
    간접적으로 문서와 관련된 내용
    사이드바 또는 콜아웃 상자

    ✔ 디스플레이 코드

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>디스플레이</title>
    </head>
    
    <body>
        <h2>디스플레이</h2>
       1. <span style="font-size:30px; color: deepskyblue;">span 태그 영역</span> <br>    2. <div style="width:600px; height:400px;background-color:gold">div 태그영역</div>
     
    </body>
    </html>
    
    
    
    

    반응형