응답 형 양식 설계를 진행 중입니다. 위 아래 코드는 아래에 있습니다. SEND 버튼이 다른 입력 필드와 제대로 정렬되지 않는 이유는 무엇입니까?display : inline-block 및 ems를 사용하여 submit 버튼과 일치하는 양식 요소 얻기
margin-left:5em
을 사용하고 있습니다.이 양식 레이블은 양식 레이블에도 width
이 5em이지만 항목 번호가 없으므로 다른 입력 필드와 일렬로 있어야합니다. 대신 버튼은 왼쪽으로 오프셋됩니다. 내가 뭘 놓치고 있니? 감사합니다. . 이 일할 수있는 당신의 입력 요소에 스타일 아래
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Test page</title>
<style>
label, input, textarea {display: inline-block; vertical-align: top;}
label {width: 5em; text-align: right;}
input, textarea {width: 20em;}
input[type="submit"] {margin-left: 5em; width: 6em;}
* {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
padding: 0;
margin: 0;
}
</style>
</head>
<body>
<form action="#" method="post">
<div>
<label for="form1_name">Name:</label>
<input id="form1_name" name="name" type="text" placeholder="first and last name" required="required" />
</div>
<div>
<label for="form1_email">Email:</label>
<input id="form1_email" name="email" type="email" placeholder="your email address" required="required" />
</div>
<div>
<label for="form1_message">Message:</label>
<textarea id="form1_message" name="message" cols="30" rows="10" required="required"></textarea>
</div>
<input value="SEND" type="submit" />
</form>
</body>
</html>
설명해 주셔서 감사합니다. 5.2em과 같은 매직 넘버를 사용할 필요가 없도록 내 코드를 어떻게 변경해야합니까? 또한 공백 빈 레이블을 추가 할 필요가 없습니까? –
@NorthK 그 여분의 공백; (당신은 결코 원하지 않을 것입니다. 대답을 업데이트했습니다. 확인해보십시오. – qwerty
감사합니다. qwerty 님, 레이블과 입력 사이의 공백을 제거하려고했지만 제출 버튼이 계속 정렬되지 않았습니다. 당신의 대답은 당신이 무슨 일이 일어나고 있었는지 설명했기 때문입니다. 나는 수직으로 겹쳐진 레이블과 입력 필드를 사용하기로 결정했습니다. –