/grid방식/
.calculator form {
display: grid;
/* 열 지정, 4열, 너비 65px*/
grid-template-columns: repeat(4, 65px);
/* 행 높이 지정*/
grid-auto-rows: 65px;
/*버튼 사이의 갭*/
grid-gap: 5px;
}
.calculator {
width: 287px;
border: 1px solid #333;
background-color: #ccc;
padding: 5px;
}
/*버튼테두리 그리기*/
.calculator form input {
border: 2px solid #333;
}
/*버튼테두리 그리기*/
.calculator form input {
border: 2px solid #333;
/*커서효과*/
cursor: pointer;
}
.calculator form input:hover {
/*hover효과: 2px:퍼짐정도*/
box-shadow: 1px 1px 2px #333;;
}
.calculator form input[type="text"] {
grid-column: span 4;
}
.calculator form .clear {
grid-column: span 3;
}
.calculator form .result {
grid-column: span 2;
}
body {
background-color: #1f1f1f;
display: flex;
justify-content: center;
align-items: center;
height: 100vh;
}
<input type="text" name="output" readonly>
.calculator form input[type="text"] {
grid-column: span 4;
text-align: right;
padding: 0 10px;
}
<input type="button" value="1" onclick="document.forms.output.value='1'">
<input type="button" value="1" onclick="document.forms.output.value+='1'">
form 객체 접근 방법
body와 마찬가지로, form은 document의 직계 객체로 설계가 되어 있습니다. 단, 문서 내에 form이 여러 개가 될 수 있으므로document.forms
유사배열(HTMLCollection)에 담기게 됩니다. 따라서 폼 요소를 DOM으로 접근 후, 폼 내부 인터페이스 요소들을name
또는type
의 속성값을 식별자로 접근할 수 있습니다.
<input type="button" class="clear" value="C" onclick="document.forms.output.value=''">
<input type="button" class="operator result" value="=" onclick="document.forms.output.value=eval(document.forms.output.value)">