728x90

입력 양식이란? 
특정 항목에 사용자가 무언가를 입력할 수 있게 만든 것으로 '폼'이라고도 함
(로그인, 회원가입 등 사용자가 웹사이트로 정보를 보낼 수 있는 요소)

※텍스트 박스나 버튼 같은 폼 형태는 HTML 태그로 만들지만, 폼에 입력한 사용자 정보는 ASP나 PHP, JSP 같은 서버 프로그래밍을 이용해서 처리

 

■ defer: HTML → JavaScript 순서대로 출력하기때문에 반드시 적어줘야 합니다.

data attritubes

우리가 원하는 데이터를 DOM 요소에 사용가능

사용법: data-* 

<body>

<div *data-index*="1" *data-display-name*="dream"></div>

*<!--콘솔창에 displayName: 위에 n이 대문자 N으로 변환 (camelCase)화가되었다정의-->*

<div *data-index*="2" *data-display-name*="coding"></div>

<span *data-index*="1" *data-display-name*="dream">sdfsfs</span>

<script>

const dream = document.querySelector('div[data-display-name="dream"');

*//querySelector : CSS에서 우리가 선택자로 쓰는 아이들을 그대로 사용할 수 있음*

console.log(dream.dataset);

console.log(dream.dataset.displayName);

console.log(dream.dataset.index);

</script>

■ 사용자가 봐도 괜찮은 데이터는 공개하되 보안적인 부분은 암호화해서 걸어둡니다. (이렇게 data.attribute를 사용함)

 

폼을 만드는 <form>태그

폼을 만드는 <form>태그
  • method: 사용 할 수 있는 값은 get/ post 입니다.-post: 입력한 내용의 길이에 제한 받지 않고 사용자가 입력한 내용도 드러나지 않음-action: <form> 태그 안의 내용을 처리해 줄 서버 프로그램을 지정
  • -target: action 속성에서 지정한 스크립트 파일을 현재 창이 아닌 다른 위치에서 열도록 합니다.
  • -name: 자바스크립트로 폼을 제어할 때 사용할 폼의 이름을 지정
  • -get: 데이터를 256 ~4,096byte까지만 서버로 넘길 수 있다. 주소 표시 줄에 사용자가 입력한 내용이 그대로 드러나는 단점이 있다.
<form action="register.php">
</form>

■ 자동 완성 기능을 나타내는 autocomplete 속성

 

자동 완성 기능은 autocomplete 속성을 사용하며 기본 속성값은 "on"

입력한 적 있는 값을 한두 글자 정도 입력하면 예전에 입력내용을 자동으로 보여줍니다.

<form>태그의 autocomplete속성을 off로 지정하면 자동 완성 기능을 끌 수 있습니다.

<form action="" autocomplete="off>
</form>

폼 요소를 그룹으로 묶는 <fieldset>, <legend>태그 하나의 폼 안에서 여러 구역을 나누어 표시할 때 <fieldset> 태그를 사용

<fieldset [속성="속성값"]></fieldset>
<fieldset>
	<legend>그룹이름</legend>
</fieldset>

*상품 주문양식 만들때
<form action="">
	<fieldset>
		<legend>상품선택</legend>
	</fieldset>
	<fieldset>
		<legend>배송 정보</legend>
	</fieldset>
</form>

폼 요소에 레이블을 붙이는 <label> 태그 <label>태그는 <input>태그와 같은 폼 요소에 레이블을 붙일 때 사용 레이블이란 입력한 가까이에 아이디나 비밀번호처럼 붙여 놓는 텍스트 사용 시 폼 요소와 레이블 텍스트가 서로 연결 되었다는 것을 웹 브라우저가 알 수 있음 <label>태그의 for 속성과 폼 요소의 id 속성을 이용해 서로 연결하는 것

폼 요소에 레이블을 붙이는 <label> 태그

<label>태그는 <input>태그와 같은 폼 요소에 레이블을 붙일 때 사용
레이블이란 입력한 가까이에 아이디나 비밀번호처럼 붙여 놓는 텍스트
사용 시 폼 요소와 레이블 텍스트가 서로 연결 되었다는 것을 웹 브라우저가 알 수 있음

<label>태그의 for 속성과 폼 요소의 id 속성을 이용해 서로 연결하는 것

<input>태그는 다양한 폼에서 사용자가 입력한 정보를 받을 때 사용

<input type="text"> : 한줄짜리 텍스트를 입력할 때 사용
<input type="password"> : 비밀번호 입력할 때 사용
<input type="search"> : 검색할 때 입력하는 필드 
<input type="url"> : URL주소를 입력할 수 있는 필드 
<input type="email"> : 이메일 주소를 입력할 수 있는 필드
<input type="tel"> : 전화번호를 입력할 수 있는 필드
<input type="checkbox"> : 2개이상 선택할 수 있는 체크 박스 
<input type="radio"> : 1개만 선택할 수 있는 라디오 버튼

+라디오 선택
<input type="radio" name="a"> 
<input type="radio" name="a"> 

<input type="number"> : 숫자를 조절할 수 있는 스핀박스 

+숫자범위 표시 
<input type="number">
<input type="range">

-min: 기본 최솟값 0 
-max: 기본 최댓값 100
-step: 기본값 1
-value: 필드에 표시할 초깃값

<input type="range"> : 숫자를 조절할 수 있는 슬라이드 막대 
<input type="date"> : 연,월,일을 넣습니다.
<input type="month"> : 연, 월을 넣습니다.
<input type="week"> : 연, 주를 넣습니다.

<input type="date | month | week">

<input type="time"> : 시, 분, 초, 분할 초를 넣습니다.
<input type="datetime"> : 국제 표준시(UTC)의 날짜와 시간(연, 월, 일, 시분, 초, 분할초)
<input type="datetime-local"> : 사용자의 지역 기준(연, 월, 일, 시, 분, 초, 분할 초)

<input type="time | datetime | datetime-local">

<input type="submit"> : 전송 버튼을 넣습니다.
<input type="reset"> : 리셋 버튼을 넣습니다.

<input type="submit | reset" value="버튼에 표시할 내용">

[주문하기]라고 표시된 submit 버튼을 클릭할 시 <form>태그에 연결된 order.php에서 처리 
[취소하기]의 경우 reset으로 설정 시 폼에 입력한 내용이 모두 삭제되고 처음상태로 돌아감

<input type="image"> : submit 버튼 대신 사용할 이미지 

<input type="image" src="이미지 경로" alt="대체 텍스트">

<input type="button"> : 일반 버튼

"button"의 경우 submit/ reset 기능은 없고 오직 버튼 형태만 삽입 
버튼을 클릭해서 javascript를 실행할 때 사용 

<input type="button" value="버튼에 표시할 내용">

[공지 창 열기]라는 버튼을 만들고 클릭하면 javascript의 window.open( )함수를 실행

<form>
	<input type="button" value="공지 창 열기" onclick="window.open('notice.html')">
</form>

<input type="file"> : 파일을 첨부할 수 있는 버튼
<input type="hidden"> : 사용자에게는 보이지 않지만 서버로 넘겨주는 값이 필드를 만듬

<input type="hidden" name="이름" value="서버로 넘길 값">

<input type="hidden" value="사이트를 통한 직접 로그인">
<label>아이디: <input type="text" id="user_id" size="10"></label>
<label>비밀번호: <input type="password" id="user_pw" size="10"></label>
<input type="submit" value="로그인">

원하는 요소에 마우스 포인터 표시
반드시 읽어야하는 요소 'required'
<input type=텍스트-입력-필드 autofocus required>

힌트를 표시해 주는 placeholder 속성
<input type="text" placeholder="안녕"> 

css-> ::placeholder { color: #eee } 

*size/ value/ maxlength/ value/ checked/ readonly

여러줄을 입력하는 텍스트 영역 <textarea> 태그

<textarea>내용</textarea>

<label for="memo">메모</label>
<textarea id="memo" cols="40" rows="4"></textarea>

-cols: 텍스트 영역의 가로 너비
-rows: 텍스트 영역의 세로 길이

드롭다운 목록을 만들어주는 <select>,

<option> 태그 <select>태그 속성

 

- size : 화면에 표시할 드롭다운 항목의 갯수를 지정

- multiple : 드롭다운 목록에서 둘 이상의 항목을 선택할 때 사용 <option>태그 속성

- value : 해당 항목을 선택할 때 서버로 넘겨줄 값을 지정

- selected : 드롭다운 메뉴를 삽입할 때 기본적으로 선택해서 보여줄 항목을 지정

<select>
	<option value="값1">내용1</option>
	<option value="값2">내용2</option>
</select>

데이터 목록 만들어 주는 <datalist>,

<option> 태그 데이터 목록을 만들 때는 <datalist> 태그를 이용해 데이터 목록의 시작과 끝을 표시 그 사이에

<option태그를 사용해 각 데이터의 옵션을 표시

데이터 목록 만들어 주는 <datalist>, <option> 태그

데이터 목록을 만들 때는 <datalist> 태그를 이용해 데이터 목록의 시작과 끝을 표시
그 사이에 <option태그를 사용해 각 데이터의 옵션을 표시

<form> : 폼의 시작과 끝

<fieldset> : 폼 요소를 그룹으로 묶습니다.

<legend> : 필드셋에 제목을 붙입니다.

<input> : 사용자가 입력할 필드 삽입 <select>,

<option> : 드롭다운 목록을 삽입

<textarea> : 텍스트를 여러 줄 입력할 수 있는 텍스트 영역

<datalist> : 데이터 목록 삽입

<input>태그의 속성
autofocus : 웹 문서가 열리면 필드 안에 마우스 포인터를 표시 
placeholder : 텍스트 필드에 힌트를 표시 
readonly : 입력 필드를 읽기 전용으로 지정 
required : 필수 입력 필드를 지정
max : 숫자 입력 필드에서 최댓값을 지정 
min : 숫자 입력 필드에서 최솟값을 지정
step : 숫자 입력 필드에서 증감할 간격을 지정
maxlength : 텍스트 관련필드에서 입력할 수 있는 최대길이 지정
minlength : 텍스트 관련필드에서 입력할 수 있는 최소길이 지정
size : 텍스트 관련 필드에서 화면에 표시할 크기를 지정 
list : 연결할 데이터 목록을 지정
728x90

글꼴을 지정하는 font-family
속성 CSS에서 사용하는 단위 em/ rem/ ex/ px/ pt
font-family:<글꼴 이름> | <글꼴 이름>, <글꼴 이름>]
body{font-family: "맑은 고딕", 돋움, 굴림} 

font-style: normal | italic | oblique
font-weight: normal | bold | bolder | lighter | 100 | 200 | ... | 800 | 900

@font-face { font-family: <글꼴 이름>; src: <글꼴 파일>[글꼴 파일>, <글꼴 파일>,.....];

@font-face{ 
	font-family: 'Ostrich';
	src: local('Ostrich Sans'),
			 url('fonts/ostrich-sans-bold.woff') format('woff'),
			 url('fonts/ostrich-sans-bold.svg') format('svg');

글자색을 지정하는 color속성 16진수나 rgb(또는 rgba), hsl(또는 hsla) #000000 → #000 표기가능 hsl과 hsla로 표현하는 방법 hsl : hue(색상), saturation(채도), lightness(명도) / alpha(불투명도)

h1{ color:rgb(0,0,255);}
h1{ color: rgba(0,0,255,0.5);}

텍스트를 정렬하는 text-align속성 문단의 텍스트 정렬 방법을 지정 합니다.

text-align: start;  > 현재 텍스트 줄의 시작 위치에 맞추어 문단을 정렬합니다.
text-align: end;  > 현재 텍스트 줄의 끝 위치에 맞추어 문단을 정렬합니다.
text-align: left;  > 왼쪽에 맞추어 문단을 정렬합니다.
text-align: right;  > 오른쪽에 맞추어 문단을 정렬합니다. 
text-align: center;  > 가운데에 맞추어 문단을 정렬합니다. 
text-align: justify;  > 양쪽에 맞추어 문단을 정렬합니다.
text-align: match-parent;  > 부모 요소를 따라 문단을 정렬합니다.

텍스트의 줄을 표시하거나 없애주는 text-decoration속성

text-decoration속성은 텍스트에 밑줄을 긋거나 취소선을 표시합니다.

<body>
	<h1>text-decoration 속성</h1>
	<p style="text-decoration:none">none</p>
	<p style="text-decoration:underline">underline</p>
	<p style="text-decoration:overline">overline</p>
	<p style="text-decoration:line-through">through</p>
</body>

text-shadow: none | <가로거리> <세로거리> <번짐정도> <색상>
text-shadow: 1px 1px 1px black;

텍스트의 대소 문자를 변환하는 text-transform 속성

.trans1{text-transform:none;}
.trans1{text-transform:capitalize;}
.trans1{text-transform:uppercase;}
.trans1{text-transform:lowercase;}
.trans1{text-transform:full-width;}

글자 간격을 조절하는 letter-spacing, word-spacing 속성 letter-spacing 속성은 글자와 글자 사이의 간격을 조절 word-spacing 속성은 단어와 단어 사이 간격을 조절

.spacing1{letter-spacing: 0.2em;}

불릿 모양과 번호 스타일을 지정하는 list-style-type 속성

  • disc → ●
  • circle → ○
  • square → ■
  • decimal → 1,2,3,...
  • decimal-leading-zero → 01,02,03...
  • lower-roman → i,ii,iii...
  • upper-roman → I,II,III...
  • lower-alpha 또는 lower-latin → a,b,c...
  • upper-alpha 또는 upper-latin → A,B,C...
  • none → 불릿이나 숫자를 없앱니다.
.book1 {list-style-type : none;}

list-style-image: <url(이미지 파일 경로)> | none

ul{list-style-image: url('images/dot.png');}

목록을 들여 쓰는 list-style-position 속성 불릿이나 번호의 위치를 들여 쓸 수 있습니다.

 

list-style-position: inside | outside;

inside: 불릿이나 번호를 기본 위치보다 안으로 들여 사용합니다. 
outside: 기본값입니다.

list-style-type, list-style-image, list-style-position -> list-style

표 제목의 위치를 정해주는 caption-side 속성

caption-side: top | bottom

table { caption-side: bottom;}

셀 사이의 여백을 지정하는 border-spacing 속성

table { border-spacing: 수평거리 수직거리;}

표와 셀 테두리를 합쳐 주는 border-collapse 속성

border-collapse: collapse; 표와 셀의 테두리를 합쳐 하나로 표시합니다. 
border-collapse: separate; 표와 셀의 테두리를 따로 표시합니다. 기본값입니다.
  • font-family : 글꼴 종류
  • font-size : 글자 크기
  • font-style : 글자를 이탤릭체로 표시할지 지정
  • font-weight : 글자의 굵기 지정
  • color : 글자색을 지정
  • text-decoration : 텍스트에 밑줄이나 취소선 표시여부
  • text-transform : 텍스트 전체, 또는 첫 글자를 대문자로 표시
  • text-shadow : 텍스트에 그림자 추가
  • letter-spacing : 글자 사이의 간격을 지정
  • word-spacing : 단어 사이의 간격을 지정
  • text-align : 텍스트 정렬 방법 지정
  • line-height: 줄 간격 조정
  • 16진수 : 빨강, 초록, 파랑 각각 두 자리씩 총 여섯자리의 16진수로 색상을 표현
  • rgb, rgba :
  • hsl, hsla :
728x90

■ CSS(Cascading Style Sheets)란 무엇인가?

CSS에대해서 혹시 궁금하셨던 부분이 있으시다면?  어디까지 알고계셨을까요?  그렇다면 지금부터 꼼꼼하게 설명드리도록 할게요. 

■ 웹 문서에서 스타일(style)이란 어떻게 또 정리해볼 수 있을까요?

HTML문서에서 자주 사용하는 글꼴이나 색상, 정렬, 각 요소의 배치 방법과 같이 문서의 겉모습을 결정짓는 것을 가르킵니다. 반응형 웹 디자인이란 사용자가 PC로 접속하든, 모바일로 접속하든 웹 브라우저의 크기에 따라 화면 레이아웃을 자동으로 바꿔주는 방법을 말합니다. 스타일규칙이란 속성과 값이 하나의 쌍으로 이루어진 것을 말합니다. 스타일 규칙을 한눈에 확인하고 필요할 때마다 수정하기도 쉽도록 한 군데 묶어 놓은 것을 스타일 시트라고 합니다. 스타일 시트는 크게 웹 브라우저에 기본으로 만들어져 있는 브라우저 기본 스타일과 사이트 제작자가 만드는 사용자 스타일로 나눌 수 있습니다. 사용자 스타일은 다시 인라인 스타일과 내부스타일 시트, 외부 스타일 시트로 나누어집니다. 스타일시트를 사용하지않고 스타일을 적용할 대상에 직접 표시하는 방법을 인라인 스타일이라고 합니다. 웹 문서 안에서 사용할 스타일을 같은 문서 안에 정리한 것을 내부 스타일 시트라고 합니다. 전체선택자는 스타일을 문서의 모든 요소에 적용할 때 사용하고 웹 브라우저의 기본 스타일을 초기화할 때 자주 사용합니다. 테두리 사이에 여백은 약간 두는데 이것을 마진과 패딩이라고 합니다. 타입선택자는 특정 태그를 사용한 모든 요소에 스타일을 적용 특정 부분만 선택해서 스타일을 적용하려면 클래스 선택자를 사용 id선택자도 클래스 선택자와 마찬가지로 웹 문서의 특정 부분을 선택해서 스타일을 지정할 때 사용.

 

즉, id스타일을 웹 요소에 적용할 때는 id="아이디명"처럼 사용 #아이디명 { 스타일규칙 } 클래스 선택자와 id선택자의 가장 큰 차이는 클래스 선택자가 문서에서 여러 번 적용할 수 있는 반면, id 선택자는 문서에서 한 번만 적용할 수 있다는 것이죠.

선택자1, 선택2 { 스타일 규칙 } !important를 붙이게되면 그 스타일은 다른 스타일보다 우선순위가 높아짐을 뜻합니다.

 

h1 { background-color: blue; !important; }

인라인스타일: 태그 안에 style속성을 사용해 해당 태그만 스타일을 적용

id 스타일: 한 문서에 한 번만 적용(선택자 이름 앞에 #기호를 사용)

클래스 스타일: 선택자 이름앞에 .를 사용

타입스타일: 웹 문서에 사용한 특정태그에 스타일을 똑같이 적용

 

- 전체선택자: * {margin:0;}

- 타입선택자: p {font-style: italic;}

- 클래스 선택자: .bg {background-color}

- id선택자: #container {windth: 500px;}

- 그룹선택자: h1, h2 {text-align: center;}

728x90

출처:ⓒCopyright, Github

먼저 깃허브에대해서 구체적으로 설명하기 전에 이미 IT시장의 70~80%이상의 개발자들은 Github은 필수로 사용하고있어요. 솔직히 80%이상이라고해도 과언이아니겠죠. 하지만, 이전에 웹퍼블리싱이나 비전공자로써 깃허브를 처음 들어보시는 분들에게는 정말 생소한 단어일 수도있죠. 정말 간략하게 설명한다면 오픈소스 프로젝트에 아주 유용하게 활용된다고 보시면됩니다. 특히나 비지니스에서 업무용으로 없어서는 안될 시스템인데요, 수많은 개발업무를 하며 이전으로 돌아가 일부 수정을 해야할 부분이 있다고하면, 깃허브를 통하여 그 시점, 즉 원하는 시점으로 돌아가 전체적으로 원활하게 관리할 수 있도록 해주는 도구라고 보시면 될 것 같아요. 그러다보니 결국은 업무중에 대량의 소스코드를 서로 일일히 주고받을 필요없이 깃허브를 통하여 주고받을 수 있으며 결국 다른 개발자들과 협업하는데도 정말 큰 도움이 된다고 보시면 됩니다. 

출처:ⓒCopyright, Unsplash

이렇게 깃허브에대해 간단하게 설명을 드려보았는데요 깃허브에있어서 중요한 몇가지가 있습니다. 

먼저, Git repository를 생성하고 사용하는 방법

새로운 Branch를 생성하고 관리하는 방법 

임의의 파일을 수정한 후 변경사항을 Commit하고 깃허브 Github로 Push하는방법

Pull request를 open하고 merge하는 방법으로 정리해볼 수 있습니다.


1 STEP: Repository 생성하는 법 

먼저 깃허브를 열게되면 repository는 단일 프로젝트 조직에 이용되며 폴더와 파일, 스프레드시트, 데이터셋, 이미지와 비디오에 필요한 것을 포함할 수 있습니다. 이 과정에서 프로젝트에 관한 정보가 있는 파일을 올려놓는게 중요하며 깃허브에서는 새로운 repository를 만드는 동시에 추가하기도 쉬운 장점이 있습니다. 하므로 아래와 같은 방식으로 진행해보도록 하겠습니다. 

 

ⓐ 우측상단의 (+)표시 클릭 -> [New repository]선택 

ⓑ [Repository name]설정 -> Ex.[Git_Tutorial]로 선택 

ⓒ [Description] 부분 간단하게 채우기

ⓓ [Initialize this repository with a README] 선택


2 STEP: Branch 생성하는 법

Branch를 통하여 이전에 상단에서 진행하였던 repository에 대한 다양한 버전의 work를 동시에 진행할 수 있어습니다. 상단 이미지에 나와있는 것처럼 master라는 branch가 있는데 보통 commit하기전에 테스트 혹은 수정할 때 사용됩니다. 예를들면 branch에서 작업하는 동안 master branch에 타인에의해 변경사항이 생긴하면 업데이트 된 사항을 pull할 수 있다는 특징이있습니다.

 

ⓐ [Repository]로 이동하기 

ⓑ [Branch: master]라고 표시된 드롭다운 메뉴 클릭

ⓒ 새 [Branch]이름 지정하기 

ⓓ 하단에 파란 [Create branch]버튼 클릭 

 

이러한 과정을 모두 거치면 branch가 master와 방금 생성한 'readme-edits'가 생성됩니다.


3 STEP: 변경사항 commit 하기 

master의 복사본 readme-edits branch가 생겼으니 변경사항을 만들고 저장하게될 단계입니다. 깃허브에서는 변경사항을 저장하는 것을 commit이라고 합니다. commit에는 변경사항에대한 간략한 설명을 담은 commit message가 있는데 이 단계에서 실행단계를 알아보려합니다. 

 

ⓐ [README.md]파일 클릭하기

ⓑ 편집을위해 우측상단 코너 연필모양 아이콘 클릭하기

ⓒ 에디터 본인에대해 간단설명하기

ⓓ 변경사항설명 [commit message]에 남기기

ⓔ [commit changes] 버튼 클릭하기


4 STEP: Pull Request 열기(Open) 

여기에서는 이제 pull request를 open할 수 있습니다. pull request를 통해 자신의 변경사항을 요청하면 pull request를 통해 merge를 할 수 있는 것이죠. 여기서 변경사항이나 추가사항 혹은 삭제된 사항이면 초록색과 빨간색으로 표시됩니다. commit을 하면 코드가 끝나지않아도 바로 pull request를 open하고 토론을 시작할 수 있어요. 게다가 사용자가 pull request message를 하면 특정사람에게 피드백 또한 요청할 수 있습니다.

 

ⓐ Pull request 탭을 누르고 페이지에서 초록색 [New pull request]버튼 눌러주기

ⓑ Examble Comparison박스에서 readme-edits branch 선택 후 master branch와 비교하기


5 STEP: Pull Request Merge하기 까지하여 모든 과정이 정리가됩니다. 

 

 

 

'IT_웹개발언어 > IT·Github' 카테고리의 다른 글

[IT·Git] Git에 대해서 알아보기(1)  (0) 2022.08.01

+ Recent posts