다음은 JavaScript 또는 테이블 레이아웃 해킹을 사용하지 않는 간단하고 깨끗한 솔루션입니다. 이 답변과 비슷합니다. 입력 텍스트 자동 너비가 다른 요소를 부동으로 100 % 채 웁니다.
입력 필드를 범위 인로 감싸는 것이 중요합니다 display:block
. 다음은 버튼이 먼저오고 입력 필드가 두 번째로되어야한다는 것입니다.
그런 다음 버튼을 오른쪽으로 띄우면 입력 필드가 나머지 공간을 채 웁니다.
form {
width: 500px;
overflow: hidden;
background-color: yellow;
}
input {
width: 100%;
}
span {
display: block;
overflow: hidden;
padding-right:10px;
}
button {
float: right;
}
<form method="post">
<button>Search</button>
<span><input type="text" title="Search" /></span>
</form>
간단한 바이올린 : http://jsfiddle.net/v7YTT/90/
업데이트 1 : 귀하의 웹 사이트가 최신 브라우저만을 대상으로하는 경우 유연한 상자를 사용하는 것이 좋습니다 . 여기 에서 현재 지원을 확인할 수 있습니다 .
업데이트 2 : 입력 필드와 전체를 공유하는 여러 버튼 또는 기타 요소에서도 작동합니다. 여기 예가 있습니다.