부트 스트랩에서 버튼과 입력이 잘 정렬되지 않는 이유는 무엇입니까?
나는 다음과 같은 간단한 것을 시도했다.
<input type="text"/><button class="btn">button</button>
이 버튼은 5px
크롬 / 파이어 폭스의 입력보다 약 합니다.
부트 스트랩에서 버튼과 입력이 잘 정렬되지 않는 이유는 무엇입니까?
나는 다음과 같은 간단한 것을 시도했다.
<input type="text"/><button class="btn">button</button>
이 버튼은 5px
크롬 / 파이어 폭스의 입력보다 약 합니다.
답변:
Twitter Bootstrap 4에서 input-group-prepend
및 input-group-append
클래스를 사용하여 입력 및 버튼을 정렬 할 수 있습니다 ( https://getbootstrap.com/docs/4.0/components/input-group/#button-addons 참조 )
<div class="input-group mb-3">
<div class="input-group-prepend">
<button class="btn btn-outline-secondary" type="button">Button</button>
</div>
<input type="text" class="form-control">
</div>
<div class="input-group mb-3">
<div class="input-group-append">
<button class="btn btn-outline-secondary" type="button">Button</button>
</div>
<input type="text" class="form-control">
</div>
@abimelex의 답변에 표시된 것처럼 .input-group
클래스 를 사용하여 입력 및 버튼을 정렬 할 수 있습니다 ( http://getbootstrap.com/components/#input-groups-buttons 참조 )
<div class="input-group">
<span class="input-group-btn">
<button class="btn btn-default" type="button">Go!</button>
</span>
<input type="text" class="form-control">
</div>
<div class="input-group">
<input type="text" class="form-control">
<span class="input-group-btn">
<button class="btn btn-default" type="button">Go!</button>
</span>
</div>
이 솔루션은 내 답변을 최신 상태로 유지하기 위해 추가되었지만 @abimelex에서 제공 한 답변에 투표를 하십시오 .
Bootstrap은 .input-append
래퍼 요소로 작동 하는 클래스를 제공하며 이를 수정합니다.
<div class="input-append">
<input name="search" id="search"/>
<button class="btn">button</button>
</div>
그의 대답에 @OleksiyKhilkevich에 의해 지적, 정렬에 두 번째 방법이 input
와 button
사용하여 .form-horizontal
클래스 :
<div class="form-horizontal">
<input name="search" id="search"/>
<button class="btn">button</button>
</div>
이 두 클래스의 차이점 은 요소 에 대해 위쪽 .input-append
을 배치하고 (따라서 첨부 된 것처럼 보임) 공백이 배치된다는 것입니다.button
input
.form-horizontal
-- 노트 --
간격없이 input
및 button
요소를 서로 옆에 배치 할 수 있도록 클래스 에서 font-size
가 설정되었습니다 ( 요소 사이의 흰색 간격이 제거됨 ). 또는 측정을 사용하여 기본값을 재정의하려는 경우 요소의 글꼴 크기에 악영향을 줄 수 있습니다 .0
.input-append
inline-block
input
em
%
.input-append
수업을 기억했다 .
margin-bottom: 9px
있지만 버튼은 같지 않으므로 동일한 수직 공간을 차지하지 않습니다. 두 요소 모두 middle
세로로 정렬되므로 차이로 인해 단추가 오프셋됩니다. .input-append
랩퍼를 사용 하면이 여백-하단 값이 제거됩니다.
입력 그룹 버튼 속성 을 사용하여 버튼을 입력 필드에 직접 적용 할 수 있습니다 .
부트 스트랩 3 & 4
<div class="input-group">
<input type="text" class="form-control">
<span class="input-group-btn">
<button class="btn btn-default" type="button">Go!</button>
</span>
</div><!-- /input-group -->
더 많은 예제를 보려면 BS4 입력 그룹 문서 를 살펴보십시오 .
<div class="form-group input-group-btn">
Use .form-inline = 컴팩트 레이아웃을 위해 레이블과 인라인 블록 컨트롤을 왼쪽 정렬합니다.
예 : http://jsfiddle.net/hSuy4/292/
<div class="form-inline">
<input type="text">
<input type="button" class="btn" value="submit">
</div>
.form-horizontal = 레이블을 오른쪽 정렬하고 레이블을 왼쪽으로 띄워 두 열 형식 레이아웃에 더 적합한 컨트롤과 같은 줄에 표시되도록합니다.
(e.g.
Label 1: [textbox]
Label 2: [textbox]
: [button]
)
form-inline
Bootstrap 3에서 작동 하는지 확인할 수 있습니다 . 감사합니다.
나는 무엇보다도 공유하고 싶은 몇 가지 변경 사항으로 끝났습니다. 나를 위해 작동하는 코드는 다음과 같습니다 (첨부 된 스크린 샷 찾기).
<div class="input-group">
<input type="text" class="form-control" placeholder="Search text">
<span class="input-group-btn" style="width:0;">
<button class="btn btn-default" type="button">Go!</button>
</span>
</div>
작동하는지 확인하려면 편집기에서 아래 코드를 사용하십시오.
<html>
<head>
<link type='text/css' rel='stylesheet' href='https://maxcdn.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css' />
</head>
<body>
<div class="container body-content">
<div class="form-horizontal">
<div class="input-group">
<input type="text" class="form-control" placeholder="Search text">
<span class="input-group-btn" style="width:0;">
<button class="btn btn-default" type="button">Go!</button>
</span>
</div>
</div>
</div>
</body>
</html>
도움이 되었기를 바랍니다.
style="width:0;"
않습니까?
<div class="col-md-4">
필요 없음 과 같은 열 요소로 래핑 합니다width: 0
나는 또한 같은 문제로 어려움을 겪고 있었다. 내가 사용하는 부트 스트랩 클래스가 작동하지 않습니다. 다음과 같이 해결 방법을 생각해 냈습니다.
<form action='...' method='POST' class='form-group'>
<div class="form-horizontal">
<input type="text" name="..."
class="form-control"
placeholder="Search People..."
style="width:280px;max-width:280px;display:inline-block"/>
<button type="submit"
class="btn btn-primary"
style="margin-left:-8px;margin-top:-2px;min-height:36px;">
<i class="glyphicon glyphicon-search"></i>
</button>
</div>
</form>
기본적으로 클래스 "form-control"의 표시 속성을 무시하고 크기와 위치를 수정하기 위해 다른 스타일 속성을 사용했습니다.
결과는 다음과 같습니다.
부트 스트랩 4 :
<div class="input-group">
<input type="text" class="form-control">
<div class="input-group-append">
<button class="btn btn-success" type="button">Button</button>
</div>
</div>
비슷한 코드가 없다면 직접 관련이 없지만 양식 인라인 부트 스트랩 3.3.7에 이상한 동작을 발견했습니다.
시작 태그가 테이블 아래 (이 경우)이면 데스크톱 프로젝트이므로 행과 셀을 사용하지 않았습니다.
<table class="form-inline">
<form>
<tr>
양식 요소가 쌓입니다.
스위치와 올바르게 정렬되었습니다.
<form>
<table class="form-inline">
<tr>
Safari 10.0.2와 최신 Chrome은 아무런 차이가 없었습니다. 어쩌면 내 레이아웃이 잘못되었지만 너무 관대하지는 않습니다.
입력 플로트를 왼쪽으로 가져갑니다. 그런 다음 버튼을 가져 와서 오른쪽으로 띄우십시오. 거리를 두 개 이상 가져 가면 클래스를 지울 수 있습니다.
<input style="width:65%;float:left"class="btn btn-primary" type="text" name="name">
<div style="width:8%;float:left"> </div>
<button class="btn btn-default" type="button">Go!</button>
<div class="clearfix" style="margin-bottom:10px"> </div>