Html,Jsp,Css_03 Html/Jsp/Javascript 2011. 10. 12. 22:59

1. 전일 Login Form Tag 복습 및 Html의 한계성

 

1-1. 전일 내용 복습 및 추가내용 기술

 

* <form> Tag

 

  - action : 폼에서 submit 이 발생할 경우 실행될 다음 파일명 기술 → <form action="login.jsp">

  - method : URL의 정보공개 유무 → <form method="post">

    · get : 정보공개

    · post : 정보비공개

 

    * tip : 단, A Tag를 이용하여 다음과 같이 링크시 method 값은 항상 get (정보공개)이 될 수 있다...라지만,

             자바 등에서 숨김이 가능하지 않을까 싶기도 하다. 일단 예시

             ex) <a href="http://www.naver.com/index.jsp?uid=abcd">네이버</a>

    * tip : 주소표시줄에 URL분석- 한글은 %등으로 알수없는 text로 변환되어 표시됨

             컴퓨터가 인식하여 출력하는 text의 기준과 사용자가 입력하는 text의 기준이 다름

 

* <input> Tag : 입력 Box 생성

 

  - type 속성

    · 값 : text, password 등이 있다. 추가적인 부분은 하단()에서 추가 기재

 

1-2. Html, Client Language의 한계성

* Login화면에 내용을 입력 하여 Sever Language인 login.jsp를 호출하는 것 까지만 가능

* <input type="file"> : 업로드할 파일이 어디에 있는지 표시하는 것 까지만 구현 가능

* 위 외에도 서버에 직접 접근 하는 것은 클라이언트 언어인 Html의 한계..

 

2. Form Tag 내에 기술되는 속성 Tag

 

* <form> Tag : form tag내에 기술되어 지는 tag는 서버로 보내지는 Data 덩어리라 보면 될 것 같다.

  - action : jsp파일을 호출하는 기능, 다음에 실행될 파일이나 명령어가(?) 정해지지 않았을 땐 일반적으로 #으로

                 표기한다 → <form action="mem.jsp">

  - method : URL의 정보공개 유무, → <form method="post">

 

2-1. <input type> Tag : type(속성)="OOOO(변수)" 방식으로 입력, input box의 유형

 

  - text : 회원가입시 ID, 이름 등 말 그대로 text를 입력하는 box → <input type="text">

 

  - password : 회원가입시 비밀번호 등을 입력하는 box → <input type="password">

 

  - radio : name을 같은 명으로 지정하여 같은 그룹으로 보므로 중복선택이 안되는 버튼(원형)이 된다...

                라고는 하지만 checkbox 또한 name을 같은 명으로 지정하는걸 보면 radio라는 type속성때문에

                중복으로 선택이 되지 않는지도 모르겠다.

                value값이 서버로 전달되어지는 값이며 input태그 바깥쪽에 radio버튼에 해당되는 text를 적어

                사용자의 식별을 돕는다. 미선택 후 submit 시 Null값이 전송된다.

                기본체크값 설정 : checked 입력 (속성없는 Tag)

                → <input type="radio" name="sports" value="농구">농구

                    <input type="radio" name="sports" value="축구">축구

                    <input type="radio" name="sports" value="배구">배구

 

  - checkbox : 위와 같은 속성Tag를 입력하나 type명만 다르다.

                      체크항목의 제한을 두거나 중복된 값으로 처리 되는 것은 Javascript에서 배열로써 처리가능

                      → <input type="checkbox" name="hobby" value="쇼핑">쇼핑

                          <input type="checkbox" name="hobby" value="시체놀이">시체놀이

                          <input type="checkbox" name="hobby" value="음주가무">음주가무

 

  - file : 업로드할 파일이 어디에 있는지 표시하는 것 까지만 구현 (Server전송: jsp)

             → <input type="file" name="filename" size="50">

 

  - reset : 입력된 값을 초기화.

                reset의 범위- reset이 포함된 <form></form> 사이의 값

                한페이지에 여러 폼이 있다면 reset 이 기술되어 클릭되어진 각자의 폼에만 영향을 준다 보면 된다.

                → <input type="reset" name="res" value="지우기">

 

  - image : submit과 같이 클릭되어지면 선택/입력된 정보를 서버로 전송하는 기능

                 → <input type="image" src="img\cafe_img\button_membership.gif">

 

  - submit : 클릭되어지면 선택/입력된 정보를 서버로 전송하는 기능

                  → <input type="submit" value="등록"> 

 

  - button : 외형은 submit과 같아 보이지만 아무런 기능이 구현이 안되며 자바스크립트에서 구현이 가능하다.

                  → <input type="button" value="등록">

 

  - hidden : 웹페이지상에서는 사용자의 화면(실행결과 화면)상에 안보이더라도 프로그램상에서 서버로 데이터를

                  가지고 가야 할 경우가 많이 있는데 이때 필요 속성만 hidden으로하여 그 데이터를 서버로 전송한다

                  → <input type="hidden" value="비밀자료임" name="secret">

  - maxlength : 최대로 입력할 수 있는 글자 수 제한- ex) 주민번호 입력시 자동으로 다음탭으로 이동되는 박스 생각

                     → <input type="text" maxlength="5">

  - readonly : 속성이 없는 태그- 사용자가 수정할 수 없도록 하는것 ex) 회원정보 수정시 id수정 불가

 

2-2. <textarea> Tag : 여러줄의 글 내용을 입력할 수 있다.

 

  - name : name은 C언어로 보자면 일종의 pointer 같다. 모든 form 내의 모든 data에 이름을 부여함으로 html내에 삽입되는

               스크립트에서 if 구문을 통한 data의 접근이 이루어 진다. → <textarea name="content">

  - rows : 한꺼번에 보여질 행의 수 → <textarea rows="10">

  - cols : 한꺼번에 보여질 열의 수 → <textarea cols="50">

 

  * tip : 코딩시 식별의 용이함을 위해 들여쓰기를 하는데, textarea같은 경우엔 끝태그를 시작태그에 붙여쓰지 않으면 들여쓰기

           공간만큼 화면에 공란으로 출력되므로 불필요한 공백까지 서버에 전송되거나 사용자 측에서 불편을 야기할 수 있으므로

            들여쓰기를 무시하고 꼭 끝태그를 붙여쓰도록 한다. 스크롤바는 글자 입력에 따라 자동으로 생성된다.

 

2-3. Select, option Tag : 드롭다운기능 구현

 

  - select : 드롭다운 되는 기능의 세로 사이즈와 name지정

    · name : 2-2에서 기술 → <select name="food">

    · size : 한번에 볼 수 있는 행 결정. 폭은 조절 불가하며 현재는 중복선택(개별:Ctrl+Click/범위:Shift+Click)이 안됨

               → <select size="1">

    · multiple : 속성이 없는태그, size를 1이상의 숫자로 설정 한 뒤, multiple입력시 목록갯수N의 N-1만큼 화면에 출력

                   → <select size="3" multiple>

  - option : 드롭다운기능에 펼쳐질 행의 내용을 입력한다. 이역시 value값(작성자만 알아볼 수 있는 값 또는 식별 가능한 값)

                으로 전송될 값을 입력하며 체크박스나 라디오버튼처럼 사용자가 식별이 가능하도록 <option></option>안에

                해당 text를 입력한다. 또한 default값을 선택해 놓고 싶다면 option에 selected를 입력한다.

                → <select name="food" size="1"> 

                    <option value="not">----선택----</option>

                    <option value="water">생수먹고배채울래</option>

                    <option value="soju" selected>소주마시고취할래</option>

                    <option value="beer">맥주마시고꺼어억</option>

                    <option value="susi">참치회엔역시소주</option>

                    <option value="chicken">치킨에는역시소맥</option>

                    </select>

 

# CODE

 

<form action="mem.jsp" method="post">

Text Box <input type="text" name="name" value="aaaa" size="10" maxlength="5" readonly>
<br>
<br>
Password Box <input type="password" name="pass">
<br>
<br>
Radio Button <input type="radio" name="sports" value="농구">농구
    <input type="radio" name="sports" value="축구">축구
    <input type="radio" name="sports" value="배구" checked>배구
<br>
<br>
Check Box <input type="checkbox" name="hobby" value="쇼핑">쇼핑
    <input type="checkbox" name="hobby" value="시체놀이">시체놀이
    <input type="checkbox" name="hobby" value="음주가무" checked>음주가무
<br>
<br>
File Upload <input type="file" name="filename" size="50">
<br>
<br>
Reset(취소) <input type="reset" name="res" value="지우기">
<br>
<br>
Image, Submit, Button, Hidden<br>
<br>
Image <input type="image" src="img\cafe_img\button_membership.gif"><br>
<br>
Submit <input type="submit" value="등록"><br>

<br>
Button <input type="button" value="등록"><br>

<br>
Hidden <input type="hidden" value="비밀자료임" name="secret"><br>
<br>
TextArea 태그 - 여러줄의 글 내용을 입력할 수 있다
<br>
 <textarea name="content" rows="10" cols="50">rows: 한꺼번에 보여질 행의 수
cols: 한거번에 보여질 열의 수
여기에 글을 쓰면 이 글이 초기값이 된다.</textarea>
<br>
<br>
Select, option Tag - 드롭다운기능 구현
 <select name="food" size="1"> 
  <option value="not">----선택----</option>
  <option value="water">생수먹고배채울래</option>
  <option value="soju" selected>소주마시고취할래</option>
  <option value="beer">맥주마시고꺼어억</option>
  <option value="susi">참치회엔역시소주</option>
  <option value="chicken">치킨에는역시소맥</option>
 </select>

 <br><br><br><br>
</form>

 

# 결과 

구현이 안되어 스크린샷으로 대체

 

3. 회원등록 폼 만들기 : 부연설명은 Code내에 주석문으로 처리 (Html + Javascript)

 

# CODE

 

<html>
 <head>
  <title> 회원등록 폼만들기 </title>
 </head>

 <body>
 <script language="javascript">
 // 자바스크립트 구문의 위치는 form 위에 있건 밑에 있건 관계 없다. 사용자가 입력 후 호출하는 것이므로..
 //함수생성 function 함수명(){.....}
 function memChk() //함수명은 변수 만들듯 내 맘대로
 {
  // 자바에서는 Body → Document 생략가능
  
  //데이타 입력유무 확인하는 기능 구현
  /*
   if문 : >, >= , <, <=, ==, !=(!는 not)
   형식
    if(조건식){

    }

  */
  if(document.frm.name.value == "") // = frm.nam.value , 확인:alert(변수) , 빈따옴표""는 내용이 없다는 뜻
  // 이름값이 없는 것이 True : True일 때 {}안 실행, False일 때 {}의 다음 구문 실행
  {
   alert("이름이 없는건가..") //확인 누르면 다음줄 명령어 실행
   document.frm.name.focus(); // name이란 이름이 있는 컴퍼넌트에 포커스(커서)를 맞춘다.
   return false; // form태그에 onsubmit="return memChk()"가 false가 되는 것: 다음페이지로 안넘어간다
  }
  if(document.frm.uid.value == "")
  {
   alert("아이디가 있어야겠지..")
   document.frm.uid.focus();
   return false;
  }
  if(document.frm.pwd.value == "")
  {
   alert("비밀번호도 있어야겠지..")
   document.frm.pwd.focus();
   return false;
  }
  if(document.frm.pwdChk.value == "")
  {
   alert("비밀번호 한번 더..")
   document.frm.pwdChk.focus();
   return false;
  }
  if(frm.pwd.value != frm.pwdChk.value) // document 생략
  {
   alert("까먹었나?");
   frm.pwd.value = ""; // 비밀번호가 틀렸을 때 pwd의 값 초기화
   frm.pwdChk.value = ""; // 비밀번호가 틀렸을 때 pwdChk의 값 초기화
   frm.pwd.focus(); // document.frm.pwd.focus(); 와 같다 → 커서 위치 이동
   return false;
  }
  if(frm.hand1.value == "Not") // hand1의 value값이 Not과 같다면 (Not은 밑에 =번호선택= 값)
  {
   alert("번호를 선택하세");
   return false;
  }
  if(document.frm.hand2.value == "")
  {
   alert("핸드폰도 없나..")
   document.frm.hand2.focus();
   return false;
  }
  if(document.frm.hand3.value == "")
  {
   alert("핸드폰번호 안넣으면 가입못함")
   document.frm.hand3.focus();
   return false;
  }
  // submit, image 일땐 return true; submit 실행
  // return true; // if값이 False일때 {}안의 내용을 건너뛰고 다음 구문인 이것을 실행
  
 document.frm.submit(); // *** 버튼으로 쓸 땐 return true; 대신 이걸 쓰고 form시작 구문에 onsubmit="return memChk()"
          //불필요하여 삭제 ***

 } // {}안에 데이타 입력유무를 확인하는 코드 입력!
 // 조건식에는 true / false 의 결과의 식을 입력
 </script> <!-- language="javascript"는 생략가능, script태그 안에 체크 항목을 입력해준다.
 체크항목: 이름/아이디/비밀번호(비밀번호끼리의 확인)/전화번호(첫자리(010)는확인필요없음) 누락없이 썼는지 확인 후 submit 기능 -->
           <!-- *** ↙ 요기에 입력되었던 onsubmit="return memChk()" 이 삭제: button submit -->  
<form action="memberOK.jsp" method="post" name="frm"> <!-- onsubmit="return memChk()" 설명:submit 이벤트가 발동되면 memChk()을 구현하라 -->
<!-- name은 자바스크립트에서 필요 --> 
<!-- action으로 자바스크립트로 이동하기전 이벤트(onsubmit, 작동이 일어나는 모든 요소) 발생 필요
클릭시: onclick
submit이 발생하면 : onsubmit,
페이지 로드시 : onload (onload alert - body tag에서 했었음)
-->
<table border="1">


 <caption><font face="굴림" color="#232323"><h2><b>회원등록</b></h2><font></caption>
  <tr>
   <td width="80" align="right">이 &nbsp;&nbsp;름</td>
   <td>
    <input type="text" name="name" size="16" maxlength="28"> <!-- 긴이름까지 생각해서 maxlength 설정 --> 
   </td>
  </tr>

  <tr>
   <td align="right">아이디</td>
   <td>
    <input type="text" name="uid" size="16">
   </td>
  </tr>

  <tr>
   <td align="right">비밀번호</td>
   <td>
   <input type="password" name="pwd" size="10"> &nbsp;&nbsp;비밀번호확인 <input type="password" name="pwdChk" size="10"> <!-- 비밀번호확인: input에 name만 다르게 -->
   </td>
  </tr>

  <tr>
   <td align="right">휴대전화</td>
   <td>
    <select name="hand1">
    <option value="Not">=번호선택=</option>
    <option value="010">010</option>
    <option value="011">011</option>
    <option value="017">017</option>
    <option value="016">016</option>
    <option value="018">018</option>
    </select>
     &nbsp;-&nbsp;
    <input type="text" name="hand2" size="5" maxlength="4">
     &nbsp;-&nbsp;
    <input type="text" name="hand3" size="5" maxlength="4">
   </td>
  </tr>

  <tr>
   <td valign="top" align="right">자기소개</td>
   <td>
    <textarea name="intro" rows="3" cols="50"></textarea>
   </td>
  </tr>

  <tr>
   <td colspan="2" align="center">
    <input type="button" value="등록" onClick="memChk()"> <!-- 클릭되면 memChk()라는 함수 호출(기능실행) -->
    <!-- <input type="image" src="img\cafe_img\button_membership.gif"> -->
    <!-- image로 input 버튼을 만들었을 때***와 submit으로 input버튼을 만들었을 때의 기능은 똑같다 -->
    <!-- <input type="submit" value="등록"> submit: 서버로 전송 -->
    &nbsp;&nbsp;&nbsp;
    <input type="reset" value="다시쓰기">
   </td>
  </tr>
</table>
</form>
 </body>
</html>

 

# 결과

 

 

4. CSS

 

* 스타일시트 표기법 → 속성명:속성값;

 

  1. inLine방식 : html 태그에 직접 적용, font-family:'폰트명1' '폰트명2' '폰트명3' → 1이 없다면 2, 2가 없다면3.

                       클라이언트의 운영체제에 해당 글자체가 없을 때를 대비하여 대체폰트 지정

                       → <font style="color:#0099cc;font-size:50pt;font-family:'궁서' '돋움' '굴림';font-style:italic">

                            스타일시트 inLine방식

                           </font>

                       → <p style="color:#0099cc;font-size:50pt;font-family:'궁서' '돋움' '굴림';font-style:italic">

                            낙성대역으로 오세요

                            </p>

                        ▲ 위에서 보듯 어떤 태그이건 간에 다 적용된다(테이블이건 어디건). 필요할때마다 구간별로 다 넣어야 해서

                            불편하다. 그래서 나온것이 2. style태그를 이용한 방식, 현시점에서 봤을 때 inLine방식>style방식: 별도

                            지정된 방식은 해당 구역에만 우선순위로 적용

 

# CODE

 

<font style="color:#0099cc;font-size:50pt;font-family:'궁서' '돋움' '굴림';font-style:italic">스타일시트 inLine방식</font>

<p style="color:#0099cc;font-size:50pt;font-family:'궁서' '돋움' '굴림';font-style:italic">낙성대역으로 오셈</p>

 

# 결과

스타일시트 inLine방식

낙성대역으로 오세요

 

  2. style태그를 이용한 방식 

   

    * style태그 기술 : <어떤 때에 무엇을 써야 하나 하는건 자꾸 해봐야 아는 법이라 한다...;

   

   2-1. head태그의 시작태그와 끝태그 안에 속성값 입력 : <style></style>

 

    2-1-1. 특정 태그명(통상적으로 대문자로 표기)에 정의하는 방법 : 같은 속성일 땐 - 대문자속성명1,대문자속성명2 

           이라 입력시 같은 기능이 된다.

           → FONT {color:red; font-size:25pt;}

 

    2-1-2. 클래스로 정의하는 방법 : 같은 속성에서 다른 스타일시트 적용

           → P.a {color:red; font-size:25pt} : 임의로 정한 클래스명 a - 태그명.클래스명

           → P.b {color:blue; font-size:20pt} : 임의로 정한 클래스명 b - 태그명.글래스명

           → .c {color:green; font-size:30pt} : 태그에 구애받지 않고 이 스타일시트를 적용하고 싶은 구간이라면 아무곳에나적용

 

    2-1-3. id로 정의하는 방법 : 위와 같으나 .이 들어가는 자리에 #이 들어간다. 자바스크립트에서 합쳐지면 능력발휘!

          자바 없이는 2-2. 클래스로 정의 방법과 결과는 같다. 태그에 적용시 id="클래스명"

          → #d {color:#ff9900; font-size:15pt} : 전체태그 사용 (2-2의 세번째 정의와 같다)

          → font#e {color:#ff99cc; font-size:20pt} : 특정태그에 사용

 

    2-1-4. 중첩태그에서 사용하는 방법

          → FONT B {color:ping; font-size:20pt} : 폰트태그 안에 있는 볼드에만 적용 - 태그명 태그명 {속성명:속성값; ...}

 

   2-2. body태그의 시작태그와 끝태그 안에 적용 코드 입력 : <body></body>

         → <p class="a">스타일시트 적용되나</p>
             <p id="d">스타일시트 진짜적용되나</p>
              <p >스타일시트 진짜적용되네</p>
              <font class="c">폰트태그에 스타일적용</font><br>
              <font>중첩태그에서 <b>스타일</b>적용</font><br>
              <b>그냥볼드</b>

 

# CODE

 

<head><style>

FONT {color:red; font-size:25pt;}

P.a {color:red; font-size:25pt}

P.b {color:blue; font-size:20pt}

.c {color:green; font-size:30pt}

#d {color:#ff9900; font-size:15pt}

font#e {color:#ff99cc;font-size:20pt}

FONT B {color:pink; font-size:20pt}

</style></head>

 

<body>

<p class="a">스타일시트 적용되나</p>
<p id="d">스타일시트 진짜적용되나</p>
<p >스타일시트 진짜적용되네</p>
<font class="c">폰트태그에 스타일적용</font><br>
<font>중첩태그에서 <b>스타일</b>적용</font><br>
<b>그냥볼드</b>

</body>

 

# 결과

 

 

 

 

 

  3. 외부파일로 만들기 : 2. style태그방식이 똑같이 적용된다 : style.css로 속성을 정의 후 html에서 link를 이용, 불러온다.  

 

   3-1. css파일 만들기 : 2. style태그방식을 참고하여 속성값이 정의 된 페이지를 만들고 style.css로 저장한다

          → P {color:#9900ff; font-size:40pt;}

              TABLE {font-size:1in;}
              DIV {background-color:#99cc00;letter-spacing:20px; font-size:1cm; font-weight:900; text-decoration:overline;

              width:800;}
              A {text-decoration:none}
              INPUT {background-color:#ffccff}

   3-2. html에 외부파일(style.css) 적용하기 : 물론 body의 시작태그와 끝태그 사이에 기술되며 상단에 다음과 같이 입력

          → <link rel="stylesheet" type="text/css" href="style.css"> : rel=relation, 스타일시트와 관계를 맺어보겠다는건가..

 

# CODE

 

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

<p>외부스타일 적용하기</p>
<div>외부스타일 적용하기2</div>
<a href="#">외부스타일 적용하기3</a>
<table>
 <tr>
  <td>아이디</td>
  <td><input type="text" name="id"></td>
 </tr>
 <tr>
  <td>비밀번호</td>
  <td><input type="password" name="pwd"></td>
 </tr>
 <tr>
  <td colspan="2" align="center">
   <input type="submit" value="전송">
   <input type="reset" value="다시">
  </td>
 </tr>
</table>

 

# 결과

 

 

 

* 글자속성: style.css 외부파일에 만들고 style2.html에서 실행

 

  0. color : 글자색
  1. font-size : 글자의 크기(pt:point) *pt단위 외에도 여러가지(cm, mm 등등 다양)
  2. font-family : 글꼴
  3. font-style : 글자유형(normal:기본, italic:기울임꼴)
  4. font-weight : 글자두께(normal, 100~900 사이의 값), bold(400), lighter(현재글꼴의 두께-100), bolder(+100)
  5. text-decoration : 글자선(none:기본, underline:밑줄, line-through:취소선, overline:윗줄
  6. letter-spacing : 글자간격,자간(px:pixel)
  7. background-color : 적용하는 태그의 배경색
  8. background-image : 적용하는 태그의 배경그림 ...인것 같은데 한개 가지고 끝나지 않으니 내일...

 

'Html/Jsp/Javascript' 카테고리의 다른 글

[Test] 회원가입 폼 만들기  (1) 2011.10.16
Html,Jsp,Css_05  (0) 2011.10.14
Html,Jsp,Css_04  (0) 2011.10.13
Html,Jsp,Css_03  (0) 2011.10.12
Html_02  (0) 2011.10.11
Html_01  (0) 2011.10.10
Html_02 Html/Jsp/Javascript 2011. 10. 11. 23:34

1. 문자스타일(charStyle.html) : 더 많이 있으나 주로 사용되는 것들 정리

 

1-1. 같은 문자스타일의 이탤릭체 Tag (결과물은 거의 차이가 없으나 알아두면 타인이 작성한 코드 분석시 유리할 수 있음)

  ① <i> : 이탤릭체 → <i>문자스타일</i>

  ② <em> : 문서내의 강조할 부분 이탤릭체로 → <em>문자스타일</em>

  ③ <cite> : 문서내에 인용문 표시 → <cite>문자스타일</cite>

  ④ <address> : 문서제작회사나 제작사의 정보 → <address>문자스타일</address>

     ▲ address는 줄을 바꾸어주지 않아도 한줄을 차지한다.

  ⑤ <var> : 변수이름 중간에 삽입 → <var>문자스타일</var>

  ⑥ <dfn> : Definition, 문자정의시 사용 → <dfn>문자스타일</dfn>

 

 # 결과 :

 

1-2. 볼드/취소선/밑줄/첨자 등

  ① <b> : 볼드체, 진하게 → <b>Bold 진하게</b>

  ② <strong> : 상동 → <strong>상동</strong>

  ③ <strike> : 취소선 → <strike>취소선</strike>

  ④ <s> : 상동 → <s>상동</s>

  ⑤ <u> : 밑줄 → <u>밑줄</u>

  ⑥ <big> : 기본폰트 사이즈보다 1크게 → <big>주위의 글자보다 조금 크게</big>

     ▲ 기본폰트 사이즈 3 일때 4사이즈로 표시

  ⑦ <small> : 기본폰트 사이즈보다 1작게 → <small>주위의 글자보다 조금 작게</small>

     ▲ 기본폰트 사이즈 3 일때 2사이즈로 표시

  ⑧ <sup> : 윗첨자 → X<sup>2</sup> + Y<sup>2</sup> = Z<sup>2</sup>

     ▲ 혹시나 해서 테스트 해보니 특수문자로도 대체가 가능한듯하다: X² + Y² = Z²  (ㅊ한자)

  ⑨ <sub> : 아랫첨자 → H<sub>2</sub>O

     ▲ 이 또한 테스트 해보니 특수문자로 대체가 가능하나, 조금 부자연 스럽다: H₂O

  

# 결과 :

 

2. 경계선의 속성 Tag

  - size : 선의 두께

  - width: 선의 길이, 기본은 픽셀이나 비율(%)로도 넣을 수 있다.
  - color: 선의 색깔, 색을 입히는 순간 오목하게 들어가 보였던 입체적 모양이 없어진다.
  - noshade: 칼라는 입히지 않고 입체적 모양만 없앤다. 속성명만 있고 값이 없다. (우선순위: color > noshade)

  → <HR size="5" width="500" color="red" noshade>

 

# 결과 :

 

3. Marquee : 문자나 이미지가 특정 방향으로 움직이게 하는 Tag

* behavior : 문자나 이미지가 움직이는 방향을 설정

  - scroll : 한쪽방향으로 움직인 후 다시 시작
  - slide : 이동 후 한쪽에서 멈춤 (loop의 영향을 받지 않는다)
  - alternate : 양쪽방향으로 반복
 

* direction : 문자나 이미지의 흘러가는 방향 설정
  - left, right, up, down
 * scrollamount : 속도, 숫자가 클수록 빨라진다.
 * scrolldelay : 속도, 픽셀의 간격으로 속도 조절
 * loop : 반복회수(infinite:무한반복=0)

 

 <marquee bgcolor="white" scrollamount="1" behavior="scroll" width="500" height="120" direction="right">
  흘러가는문자<br>
  <img src="img\01.jpg" width="100" height="80">
  </marquee><br>

  <marquee bgcolor="white" scrolldelay="50" behavior="alternate" width="500" height="120" direction="left" loop="0">
  흘러가는문자<br>
  <img src="img\01.jpg" width="100" height="80">
  </marquee><br>

 

# 결과 :

흘러가는문자
흘러가는문자

3-1. Exam : 대각선방향으로 움직이도록 해봐라

<marquee scrollamount="10" behavior="scroll" width="630" height="600" direction="right">
 <marquee scrollamount="10" behavior="scroll" width="630" height="600" direction="up">
  <img src="img\01.jpg" width="150" height="150">
 </marquee>
 </marquee>

▲ marquee tag 안에 marquee tag를 넣음으로 오른쪽 방향과 위쪽 방향이 번갈아가며 움직여
   대각선으로 이동하듯 보이도록 유도한다.

 

# 결과 :

 

 

4. <H#> Tag

* 글자크기를 설정할 수 있는 태그 : (크고)1 ~ 6(작다) → 폰트태그와는 반대

* 자동줄바꿈 : 앞에 다른 텍스트가 있을시 앞에서 줄바꿈, 뒤에 다른 텍스트가 있을시 뒤에서 
                     줄바꿈

→ <h2>홍길동</h2>은 천재다<h1>.</h1>

 

# 결과 :

 

5. A Tag

* href : url, file명
* target : _blank(새창에 열림) 기본값 self

5-1. 메일링 : Outlook Express 발동!
  - 메일링 : <a href="mailto:kbeoum@nate.com">편지쓰기</a>

 

# 결과 : kbeoum@nate.com 


5-2. 다운로드 : 웹상에서 다운로드 기능실행 → 웹상에서 실행 가능여부에 따라 다운로드
                        되기도 실행되기도 한다
  - 그렇다면 항상 다운로드 되도록 하는 소스는 없을까? html/java는 안되나 jsp에서는
     a4용지 반페이지 정도의 소스가 있는데 그것을 응용하면 확장자 구분없이 다 다운로드가
     가능하다. html에서 하는 범위는 여기까지다.

다운로드 : <a href="img\blog_img.GIF">gif다운로드</a><br>
다운로드 : <a href="img\01.jpg">jpg다운로드</a><br>
다운로드 : <a href="..\util\Edit Plus 3.31.zip">zip다운로드</a><br>
다운로드 : <a href="..\util\Ms Office 2003 (Excel.Word.Powerpoint)\SETUP.EXE">exe다운로드</a><br>
다운로드 : <a href="..\HTML_ppt\test.xls">xls다운로드</a><br>

 

# 결과 :

다운로드 : gif다운로드
다운로드 : jpg다운로드
다운로드 : zip다운로드
다운로드 : exe다운로드
다운로드 : xls다운로드


 

5-3. 같은 페이지에서 이동 : href의 링크를 클릭하면 name의 위치로 이동한다.
      수업내용엔 없었지만 최상단으로 올라가는 top tag 추가 작성

* FAQ에서 질문에 해당되는 단락 : <a href="#지정이름">Qtext</a>
* FAQ에서 답변에 해당되는 단락 : <a name="지정이름">Atext</a>

 

1. <a href="#one">aaaaa</a><br>
2. <a href="#two">bbbbb</a><br>
3. <a href="#three">ccccc</a><br>
4. <a href="#four">ddddd</a><br>
<p>

1. <a name="one">aaaaa</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#">top</a><p>
a<p>a<p>a<p>a<p>a<p>a<p>a<p>a<p>a<p>a<p>a<p>a<p>a<p>a<p>a<p>a<p>a<p>a<p>a<p>a<p>a<p>a<p>a<p>a<p>a<p>a<p>a<p>a<p>a<p>
<a href="#">top</a><p>

2. <a name="two">bbbbb</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#">top</a><p>
b<p>b<p>b<p>b<p>b<p>b<p>b<p>b<p>b<p>b<p>b<p>b<p>b<p>b<p>b<p>b<p>b<p>b<p>b<p>b<p>b<p>b<p>b<p>b<p>b<p>b<p>b<p>b<p>b<p>
<a href="#">top</a><p>

3. <a name="three">ccccc</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#">top</a><p>
c<p>c<p>c<p>c<p>c<p>c<p>c<p>c<p>c<p>c<p>c<p>c<p>c<p>c<p>c<p>c<p>c<p>c<p>c<p>c<p>c<p>c<p>c<p>c<p>c<p>c<p>c<p>c<p>c<p>
<a href="#">top</a><p>

4. <a name="four">ddddd</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href="#">top</a><p>
d<p>d<p>d<p>d<p>d<p>d<p>d<p>d<p>d<p>d<p>d<p>d<p>d<p>d<p>d<p>d<p>d<p>d<p>d<p>d<p>d<p>d<p>d<p>d<p>d<p>d<p>d<p>d<p>d<p>
<a href="#">top</a><p>

 

# 결과 : 생략

 

6. 이미지의 특정부분에 링크걸기

* usemap : 이미지의 별명 → <img src="img\01.jpg" usemap="#imgMap">

*  area : 좌표와 링크정보 표시 → <area shape="" coords="" href="">
  - shape : 링크범위설정 모양

    · rect : 사각형 / circle : 원 / poly : 다각형
  - coords : 좌표포인트

    · rect : 왼쪽 위 X,Y좌표와 오른쪽 아래 X,Y좌표 → coords="X1,Y1,X2,Y2"

 

   · circle : 원의 중심점을 기준으로 X,Y좌표와 반지름R → coords="X1,Y1,R"

 

    · poly : 시계방향이건 반시계방향이건 한쪽방향으로 순서대로 X,Y좌표 입력
               → coords="X1,Y1,X2,Y2,X3,Y3...Xn,Yn"


  - href : 링크주소
  - 링크모양의 선을 없애는 건 자바스크립트에서 가능하다.

 

<img src="img\01.jpg" usemap="#imgMap" border="0">

  <map name="imgMap">
 <area shape="rect" coords="600,350,834,543" href="http://www.naver.com" alt="네이버" target="_blank">
 <area shape="circle" coords="200, 200, 150" href="http://www.daum.net" alt="다음" target="_blank">
 <area shape="poly" coords="1176,215,1289,264,1242,389,1113,391,1066,276" href="http://www.google.co.kr" alt="구글" target="_blank">

 

# 결과 : 생략

 - 위의 방법은 좌표값을 정확히 알 수 없어 비효율적이다.

 

7-1. Table tag

* <table> : 표의 시작
  - width : 표의 전체폭 (열폭과는 관계 없다)
  - height : 표의 전체높이 (열높이와는 관계 없다)
  - align : 창을 기준으로 정렬(left, right, center)
  - bgcolor, background : 표 전체에 컬러, 이미지 백그라운드로 적용
  - cellpadding : 표의 라인과 내용간의 간격 (테이블 태그에만 적용)
  - cellspacing : 표의 구분선의 간격 (테이블 태그에만 적용)
    ▲ cellspacing과 border의 차이점: border는 외곽선에만 치수 적용 되고 cellspacing은
        내부라인에도 적용되며 bgcolor과 적용됨과 두 태그를 동시 사용시 cellspacing은 
        border안으로 중복적용
  - bordercolor : border에 색을 입힘
  - bordercolorlight : 입체적인 표라 봤을 때 조명을 받아 밝은 곳의 색
  - bordercolordark : 입체적인 표라 봤을 때 조명을 받지 않아 어두운 곳의 색

 

* <tr> : 행 만들기
  - height : 행높이
  - width : 행폭
  - align : 표 안에 내용을 기준으로 정렬(left, right, center)
  - valign : 수직정렬 (top, middle, bottom)
  - bgcolor, background : 행에만 컬러, 이미지 백그라운드로 적용

* <td> : 열 만들기
  - height : 열높이
  - width : 열폭
  - align : 표 안에 내용을 기준으로 정렬(left, right, center)
     ▲ tr에 align적용시 해당 행이 모두 코드에 맞에 정렬되나 특정 열만 정렬 방법을 바꾸고 
         싶다면 해당 열의 td에 align을 적용한다.
  - valign : 수직정렬 (top, middle, bottom)
*tip: table에 적용된 치수는 tr이나 td에서 재적용시 사이즈가 변경되므로 보편적으로 table에
       전체 사이즈를 적용하기보다 tr과 td에서 적용함이 유리하다.
 - bgcolor, background : 열에만 컬러, 이미지 백그라운드로 적용

 

<table align="center" border="10" width="500" height="300" bgcolor="black" cellpadding="10" cellspacing="5"
bordercolorlight="gray" bordercolordark="black"> 
 <tr align="right" height="100" bgcolor="green">
  <td width="250">AAA</td>
  <td align="center"><img src="img\Untitled-1_02.gif" height="100"></td>
 </tr>

 <tr height="150" valign="top">
  <td bgcolor="gray">BBBBBBBBBBBB</td>
  <td align="center"><img src="img\Untitled-1_05.gif" height="100"></td>
 </tr>

 <tr height="100">
  <td valign="bottom"><a href="http://www.daum.net">다음으로</a></td>
  <td align="center" background="img\xbox.gif">홍길동</td>
   </tr>
</table>

 

# 결과 :

 

AAA
BBBBBBBBBBBB
다음으로 홍길동

 

7-2. 표 만들기

* rowspan : 행 합치기

* colspan : 열 합치기

* caption : 표의 제목을 표시 (align 속성: left, center, right)

   table tag안에만 있으면 어디에 입력되건 관계 없이 상단에 위치한다.

* th : 타이틀로 표시할 칸을 <td> 대신 사용, 진하게/가운데정렬 된다.

 

* Ex : 달력을 만들어보자.

 

<table align="center" border="1" cellspacing="0">
<caption align="center"><b>2011년 10월</b></caption>
<tr><th><img src="img\c.gif" width="500" height="200"></th></tr>
<tr><th>
 <table align="center" width="100%" height="450">
  <tr align="center" >
   <th><font color="red">일</font></th><th>월</th><th>화</th><th>수</th><th>목</th><th>금</th><th><font color="blue">토</font></th>
  </tr>
   
  <tr align="center">
   <th>&nbsp;</th><th>&nbsp;</th><th>&nbsp;</th><th>&nbsp;</th><th>&nbsp;</th><th>&nbsp;</th><th><font color="blue">1</font></th>
  </tr>
  
  <tr align="center">
   <th><font color="red">2</font></th><th>3</th><th>4</th><th>5</th><th>6</th><th>7</th><th><font color="blue">8</font></th>
  </tr>
  
  <tr align="center">
   <th><font color="red">9</font></th><th>10</th><th>11</th><th>12</th><th>13</th><th>14</th><th><font color="blue">15</font></th>
  </tr>
  
  <tr align="center">
   <th><font color="red">16</font></th><th>17</th><th>18</th><th>19</th><th>20</th><th>21</th><th><font color="blue">22</font></th>
  </tr>
  
  <tr align="center">
   <th><font color="red">23</font></th><th>24</th><th>25</th><th>26</th><th>27</th><th>28</th><th><font color="blue">29</font></th>
  </tr>
  
  <tr align="center">
   <th><font color="red">30</font></th><th>31</th><th>&nbsp;</th><th>&nbsp;</th><th>&nbsp;</th><th>&nbsp;</th><th>&nbsp;</th>
  </tr>

 </table>
</th>
</tr>

</table>

 

# 결과 :

2011년 10월
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31          

 

8. 폼태그 만들기

* <form> 태그 :

* <input> : 한줄의 text 입력

  - type 속성

     · 값 : text

 

<form action="login.jsp" method="post">
<!-- html은 환경만 만들어준다 보면 됨 method="post" 또는 "get" 뭐하는건진 나중에 -->
<!-- jsp는 서버언어, 폼에 입력된 값을 서버로 전송한다 -->
<table border=0>
<tr><td>
&nbsp;아이디&nbsp;&nbsp;&nbsp;<input type="text" name="id" value="" size="10">
</td><td rowspan="2" valign="middle"><input type="submit" value="로그인"></td>
</tr>
<tr><td>
비밀번호 <input type="password" name="pw" value="" size="10">
<!-- input box 크기가 password가 더 크나 html의 한계, 스타일시트가능 -->
</td></tr>

</table>
</form>

 

# 결과 : 실제 결과는 생략 이미지 첨부

'Html/Jsp/Javascript' 카테고리의 다른 글

[Test] 회원가입 폼 만들기  (1) 2011.10.16
Html,Jsp,Css_05  (0) 2011.10.14
Html,Jsp,Css_04  (0) 2011.10.13
Html,Jsp,Css_03  (0) 2011.10.12
Html_02  (0) 2011.10.11
Html_01  (0) 2011.10.10