# defer
<script> 태그의 defer 속성은 페이지가 모두 로드된 후에 해당 외부 스크립트가 실행됨을 명시합니다.
defer 속성은 불리언(boolean) 속성으로 명시하지 않으면 false 값을 가지게 되고, 명시하면 true 값을 가지게 됩니다.
이 속성은 <script> 요소가 외부 스크립트를 참조하는 경우에만 사용할 수 있으므로, src 속성이 명시된 경우에만 사용할 수 있습니다.
참조된 외부 스크립트 파일을 다음과 같이 여러 가지 방법으로 실행시킬 수 있습니다.
- async 속성이 명시된 경우 : 브라우저가 페이지를 파싱되는 동안에도 스크립트가 실행됨.
- async 속성은 명시되어 있지 않고 defer 속성만 명시된 경우 : 브라우저가 페이지의 파싱을 모두 끝내면 스크립트가 실행됨.
- async 속성과 defer 속성이 모두 명시되어 있지 않은 경우 : 브라우저가 페이지를 파싱하기 전에 스크립트를 가져와 바로 실행시킴.
# <Form>
method="get" - 입력한 정보를 주소창에 출력 (default)
method="post" - 주소창에 정보를 출력하지 않음.
# <Table>
cellpadding = 셀과 글자 사이의 간격
cellspacing = 셀 간의 간격
border = 테두리 굵기
# <tr>
row 열
# <td>
cloumn 행
# valign = 내용물의 위치 지정(세로)
[top middle(center) bottom ]
# align = 내용물의 위치 지정 (가로)
[left center right ]
<td align = "center">
# colspan = 해당 행을 시작으로 가로 10셀을 합치기
<td colspan = "2" height = "40" align = "center">
# rowspan = 해당 열을 시작으로 아래 2셀과 합치기
<!-- colspan = "10" 해당 행을 시작으로 가로 10셀을 합치기-->
<!-- rowspan = "2" 해당 열을 시작으로 아래 2셀과 합치기-->
<!-- valign = "top middle(center) bottom" -->
<!-- align = "left center right " -->
# <input>
# radio 버튼
< type = "radio" value = "0" checked >
checked : 시작시 선택
# text 입력 필드 (TextField)
type = "text" name = "age" placeholder = "나이 입력" size = "7"
# <select>
<select style = "width: 100px;" >
style을 inline 방식으로 입력했지만 추천되지 않는 방식.
해당 코드까지 찾아와서 수정해야 하기 때문
# select와 상속관계
<optgroup>
label= "color"
<optgroup label="# 색깔">
<option>
value = "red"
<option value="green" selected>초록</option>
<select name = "color" style = "width : 150px;"> <!-- 인라인 방식 추천 x --> <optgroup label="# 색깔" > <option value="blue">파랑</option> <option value="green" selected>초록</option> <option value="purple">보라</option> <option value="skyblue">하늘</option> <option value="white">하양</option> </optgroup> <optgroup label="# 숫자"> <option value="1">1</option> <option value="2">2</option> <option value="3">3</option> <option value="4">4</option> <option value="5">5</option> <option value="6">6</option> </optgroup> </select>
# 다중 선택 테이블
<select name="subject" size="3" style="width: 200px;" multiple> <!-- multiple : shift/Ctrl + 클릭으로 다중선택 가능 --> <optgroup label="# 과목"> <option value="JAVA">JAVA</option> <option value="Servlet" selected>Servlet</option> <option value="JSP">JSP</option> <option value="SPRING">SPRING</option> </optgroup> </select>
# size="3" : select 란을 3줄까지 출력
# multiple : shift/Ctrl + 클릭으로 다중선택 가능
- 스페이스
  - 스페이스
  - 큰스페이스
# <fieldset>
fieldset 내부 항목을 네모박스로 묶어준다.
<fieldset> <legend>취미</legend> <input type = "checkbox" name = "hoddy" value = "영화">영화   <input type = "checkbox" name = "hoddy" value = "잠">잠 <input type = "checkbox" name = "hoddy" value = "게임">게임   <input type = "checkbox" name = "hoddy" value = "쇼핑">쇼핑   <input type = "checkbox" name = "hoddy" value = "음악">음악 </fieldset> <!--   큰 스페이스 --> <!-- 작은 스페이스-->
# <legend>
fieldset 네모박스에 label을 달아준다.
<legend>취미</legend>
# <Submit>
입력상자에 들어온 모든 값을 가지고 페이지를 이동
name = 홍길동&gender=1& ~~~
action을 찾아 실행
# <Button>
단순히 이동(Javascript를 거친다)
action은 동작 x
# onclick = "~" 클릭시 호출할 자바스크립트 함수
(on ~ 할때)
# <email>
<input type = "email" list = "domain" name = "email2" size = 20 placeholder = "직접입력" >
<datalist id= "domain">
<option value = "gmail.com">
<option value = "naver.com">
<option value = "hanmail.net">
</datalist>
# readonly
- 우편변호와 주소란에는 직접 입력 불가
- 상세주소는 readonly를 걸지 않음
<input type = "text" name = "zipcode" size = "5" readonly>
<input type = "button" name = "zipcodechk" value = "우편번호 검색" onclick = "javascript:zipcodechk()"><br>
<input type = "text" name = "addr1" size = 40 placeholder = "주소" readonly><br>
<input type = "text" name = "addr2" size = 40 placeholder = "상세주소">
# method = get / post
# Anchor <a></a>
설정해둔 name 주소로 스크롤
1. 도착지점 설정
<a name="pageTop">
2. 도착지점 <a name> 주소로 출발지점 설정
<a href="#pageTop">최상단으로 돌아가기</a>
^
^
^
^
^
^
^
^
[ border 속성 ]
예제
<style>
.border-styles > p{
margin: 2px 0;
padding: 1px 3px;
border-width: 2px;
border-color: #aaa;
}
</style>
<div class="border-styles">
<p style="border-style: solid">solid</p>
<p style="border-style: dotted">dotted</p>
<p style="border-style: dashed">dashed</p>
<p style="border-style: double">double</p>
<p style="border-style: groove">groove</p>
<p style="border-style: ridge">ridge</p>
<p style="border-style: inset">inset</p>
<p style="border-style: outset">outset</p>
</div>
webberstudy.com/html-css/html-3/form-2/
# boardList 글 제목 길면 ... 처리하기
<td align="left" width="500">
<div style=" width:400px; height: 20px; overflow: hidden;
white-space: nowrap; text-overflow: ellipsis; display:inline-block;">
<span id="subject"
onmouseover="javascript:openPost(<%=data.getSeq()%>);"
onmouseOut="javascript:closePost(<%=data.getSeq()%>);"
onclick="javascript:clickPost(<%=data.getSeq()%>, <%=pageNum%>);">
<%=data.getSubject()%></span>
</div><span style="font-size: 15pt;">(<%=data.getReplyNum()%>)</span>
</td>
1. ... 처리하려는 문자열을 div태그로 감싸준다.
2. div 태그 사이즈를 설정해주고 다음 설정을 넣어준다.
style="overflow: hidden; //div 영역을 벗어나는 출력물은 숨긴다.
white-space: nowrap; // 한 줄을 길게 입력해도 자동으로 줄바꿈이 되지 않는다.
text-overflow: ellipsis; // 텍스트가 영역을 넘치면 ...이 대신 출력된다.
display:inline-block;" // div영역이 끝나도 줄바꿈이 되지 않게 한다. 제목 바로 뒤에 (0) 댓글수 출력하기 위해
# legend태그
- <fieldset> 테두리에 타이틀을 삽입
<fieldset>
<legend>취</legend>
<input type="checkbox" name="hobby" value="독서">독서
<input type="checkbox" name="hobby" value="영화">영화
<input type="checkbox" name="hobby" value="음악">음악
<input type="checkbox" name="hobby" value="게임">게임
<input type="checkbox" name="hobby" value="쇼핑">쇼핑
</fieldset>
# <strong>
html BOLD 사용할때 <b></b> 대신 <strong></strong>을 쓸수 있다.
<c:if test="${param.age > 20 }"><strong>성인</strong></c:if>
# div에 스크롤 넣어서 꾸미기
div 스타일에 overflow: auto; 추가 후,
#userListPanel::-webkit-scrollbar {
width: 12px;
}
#userListPanel::-webkit-scrollbar-thumb {
background-color: #5d4c6e;
border-radius: 10px;
background-clip: padding-box;
border: 1px solid transparent;
}
#userListPanel::-webkit-scrollbar-track {
background-color: #BBBBBB;
border-radius: 10px;
box-shadow: inset 0px 0px 5px white;
border: 0.5px solid purple;
}
overflow
- auto : 자동
- scroll : 가로세로 스크롤 표시
- visible : 틀 무시하고 모두 보임
- hidden : 틀 넘는 것들은 출력 x
# [ JSP ] 빈자리수 앞에 0으로 채우기
<span># <%= String.format("%04d", userList.get(i).getSeq()) %>번째 방문자</span>
% : 명령 시작을 의미
0 : 채워질 문자
2 : 총 자리수
d : 십진수로 된 정수
# div영역 닫았다 열었다 하기
document.getElementById("test").style.display = "none"; ==> 숨기기
document.getElementById("test").style.display = "block"; ==> 보이기
/* 글 닫았다 펼쳤다 */
function openDivis(postNum){
let contentDiv = document.getElementById("divNo" + postNum);
/* alert(contentDiv.style.display); */
if(contentDiv.style.display === "none"){
contentDiv.style.display = "block";
}else if (contentDiv.style.display === "block"){
contentDiv.style.display = "none";
}
}
# 페이지마다 반복되는 부분 (페이지 헤더) 분리해서 import 시키기
<jsp:include page="../main/header.jsp" />
# html 마우스 이벤트
# 개체 위치 미세조정
position : absolute;
벽과의 거리조정 :
margin-left, right, top, bottom
위치조정
left, top, right, bottom
px단위, 전체화면 기준 %단위로도 조절 가능
#div 둥근 테두리 + 테두리 푸른 그림자
.rounded {
background-color: #e3d6f1;
border: 2px solid #5d4c6e;
padding: 0.5em;
line-height: 1em;
border-radius: 0.5em;
-moz-border-radius: 0.5em;
-webkit-border-radius: 0.5em;
opacity: 0.7;
text-align: center;
vertical-align: middle;
box-shadow: 0 0 10px #6DB6D9;
}
# 텍스트 필드, 텍스트 에어리어 테두리 제거 및 그림자 생성
#content {
postion: absolute;
background-color: #FFF;
border: none;
border-right: 0px;
border-top: 0px;
boder-left: 0px;
boder-bottom: 0px;
margin-left: -4px;
width: 101%;
height: 465px;
margin-bottom: -10px;
} /*
#content:focus {
outline: none;
border-color: #9ecaed;
box-shadow: 0 0 10px #9ecaed;
}
#웹페이지 텍스트 커서 안찍히게 하기
/* 선택 방지 */
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
/* 선택 방지 */
# ttf파일 폰트추가
@font-face {
font-family: 'misang';
src: url("../font/misang.ttf");
}
body {
background-image: url('../image/kakaoWallpaper.jpg');
background-repeat: repeat-y;
height: 100%;
background-size: cover;
font-family: misang;
font-size: 20pt;
'Dev > HTML \ CSS \ JS' 카테고리의 다른 글
SCSS (0) | 2021.01.21 |
---|---|
[ DEV Ed ] glass webpage 중간중간 메모 (0) | 2021.01.21 |
CSS 단위 [rem / em / vh / vw / vmax / vmin] (0) | 2021.01.21 |
DOM 메모 (0) | 2021.01.13 |
html -1 (0) | 2020.11.11 |