Bootstrap 3.0 : 텍스트와 입력을 같은 줄에 표시하는 방법은 무엇입니까?


90

현재 웹 사이트를 Bootstrap 3.0으로 전환하고 있습니다. 양식 입력 및 텍스트 서식에 문제가 있습니다. Bootstrap 2에서 작동했던 것은 Bootstrap 3에서 작동하지 않습니다.

양식 입력 전후에 같은 줄에 텍스트를 표시하려면 어떻게해야합니까? 예제의 Bootstrap 3 버전에서 'form-control'클래스 문제로 범위를 좁혔습니다.

모든 텍스트와 입력을 한 줄로 가져 오는 방법은 무엇입니까? 부트 스트랩 3 예제가 jsfiddle의 부트 스트랩 2 예제처럼 보이기를 바랍니다.

JS 바이올린 예

<div class="container ">
  <form>
      <h3> Format used to look like this in Bootstrap 2 </h3>
      <div class="row ">
          <label for="return1"><b>Return:</b></label>
          <input id="return1" name='return1' class=" input input-sm" style="width:150px"
                 type="text" value='8/28/2013'>
          <span id='return1' style='color:blue'> +/- 14 Days</span>
      </div>

       <br>   
       <br>   
           <h3> BootStrap 3 Version </h3>

      <div class="row">
          <label for="return2"><b>Return:</b></label>
          <input id="return2" name='return2' class="form-control input input-sm" style="width:150px"
                 type="text" value='8/28/2013'>
          <span id='return2' style='color:blue'> +/- 14 Days</span>
      </div>
  </form>

업데이트 : 작동하지만 지금 정렬에 문제가있는 코드를 변경합니다. 어떤 아이디어?

<div class="form-group">
<div class="row">
    <div class="col-xs-3">
        <label for="class_type"><h2><span class=" label label-primary">Class Type</span></h2></label>
    </div>
    <div class="col-xs-2">
        <select name="class_type" id="class_type" class="  form-control input-lg" style="width:200px" autocomplete="off">
            <option >Economy</option>
            <option >Premium Economy</option>
            <option >Club World</option>
            <option >First Class</option>
        </select>
    </div>
 </div>


둘 다 form-control부트 스트랩 3 예제에 추가 클래스가있는 것과 동일합니다 .
Kyle Needham

1
부트 스트랩 문서의 예제를 살펴보십시오. 당신은 라벨에 클래스를 누락 getbootstrap.com/css/#forms-horizontal
bumperbox

미안하지만 여전히 헷갈려요. 아래쪽 예제 (BS3)에는 더 나은 모양을 제공하는 'form-control'클래스가 있습니다. 더 나은 모습을 원하고 텍스트와 입력을 같은 줄에 유지합니다. 내가 무엇을 놓치고 있습니까?
fat fantasma

다른 방법으로 질문하겠습니다. 같은 줄에 텍스트와 입력 필드를 가져오고 멋진 열로 정렬하려면 어떻게해야합니까? 이 바이올린 jsfiddle.net/fatfantasma/QwkpE를 참조하십시오 . 물론 같은 줄의 맨 오른쪽에 텍스트를 추가하고 싶습니다. 어떻게할까요?
fat fantasma 2013-08-29

.input-lg입력 필드의 높이를 높이지만 레이블 높이와 크기도 조정하는 클래스가 필요합니다.
Petrus Theron 2013 년

답변:


39

원하는 각 요소를 행 내의 별도의 col-md- * div 안에 인라인으로 넣습니다. 또는 요소가 인라인으로 표시되도록합니다. 폼 컨트롤 클래스는 부트 스트랩이 수행해야한다고 생각하는 방식이기 때문에 블록을 표시합니다.


136

http://getbootstrap.com/css/#forms-horizontal 문서에서 직접 .

Bootstrap의 미리 정의 된 격자 클래스를 사용 .form-horizontal하여 양식 에 추가 하여 (일 필요는 없음) 레이블 및 양식 컨트롤 그룹을 가로 레이아웃으로 정렬 <form>합니다. 이렇게하면 변경 사항 .form-groups이 그리드 행처럼 작동하므로 .row.

견본:

<form class="form-horizontal">
  <div class="form-group">
    <label for="inputEmail3" class="col-sm-2 control-label">Email</label>
    <div class="col-sm-10">
      <input type="email" class="form-control" id="inputEmail3" placeholder="Email">
    </div>
  </div>
  <div class="form-group">
    <label for="inputPassword3" class="col-sm-2 control-label">Password</label>
    <div class="col-sm-10">
      <input type="password" class="form-control" id="inputPassword3" placeholder="Password">
    </div>
  </div>
  <div class="form-group">
    <div class="col-sm-offset-2 col-sm-10">
      <div class="checkbox">
        <label>
          <input type="checkbox"> Remember me
        </label>
      </div>
    </div>
  </div>
  <div class="form-group">
    <div class="col-sm-offset-2 col-sm-10">
      <button type="submit" class="btn btn-default">Sign in</button>
    </div>
  </div>
</form>

15
+1. 는 공식 문서 링크 때문에 이것은 허용 대답해야한다
EProgrammerNotFound

링크 전용 답변이며 참조 된 페이지가 변경되거나 제거 된 경우 예제없이 허용되는 답변이되어서는 안됩니다.
NDM

정답이 정답 인 이유는 무엇입니까? 이것은 정답이어야합니다! @fat fantasma
JMASTER B

이를 form-control-static으로 래핑해야합니다. 아래 답변을 참조하십시오
rmcsharry

2
그 @Whitecat 대답하는 레이아웃 디자인입니다 - 그 모바일 사용 COL-xs- *보다는 COL-SM-*에서도 작동시킬
niico

23

필요한 것은 .form-inline수업입니다. 하지만 새 .form.inline클래스에서는 각 컨트롤의 너비를 지정 해야하므로주의해야합니다 .

이것 좀 봐


이것은 블록에서 form-horizontal클래스 form-group쇼 와 함께 div를 강제하지 않았기 때문에 클래스보다 더 나은 대답이어야합니다 .
shawmzhu

이는 너비가 768px 이상인 뷰포트 내의 양식에만 적용됩니다.
rmcsharry

13

이 중 어느 것도 나를 위해 일하지 않았고 .form-control-static수업 을 사용해야했습니다 .

http://getbootstrap.com/css/#forms-controls-static


1
이것은 정말 도움이되었습니다. 이 없다면, 레이블 텍스트 및 입력 텍스트는 col- 정렬되지 않은 -
브랜든 코디 - 케니

이것은 당신이 양식이 작은 장치에서 제대로 포장 할 특히, 정확한 답해야한다
rmcsharry

네, 이것도 저에게 효과적입니다. col-xs- * 열에 대한 다른 솔루션은 실패합니다. 'form-control-static text-right'를 사용하면 BS 3.3.7에서 저에게 효과적이었습니다.
Neutrino

10

다음과 같이 할 수 있습니다.

<form class="form-horizontal" role="form">
    <div class="form-group">
        <label for="inputType" class="col-sm-2 control-label">Label</label>
        <div class="col-sm-4">
            <input type="text" class="form-control" id="input" placeholder="Input text">
        </div>
    </div>
</form>

깡깡이


4

div "class ="col-lg-12 ""의 어머니에게만주세요

<div class="form-group">
<div class="row">
    <div class="col-xs-3">
        <label for="class_type"><h2><span class=" label label-primary">Class Type</span></h2></label>
    </div>
    <div class="col-xs-2">
        <select name="class_type" id="class_type" class="  form-control input-lg" style="width:200px" autocomplete="off">
            <option >Economy</option>
            <option >Premium Economy</option>
            <option >Club World</option>
            <option >First Class</option>
        </select>
    </div>
 </div>

그것은 될 것이다

<div class="form-group">
<div class="col-lg-12">
  <div class="row">
    <div class="col-xs-3">
        <label for="class_type"><h2><span class=" label label-primary">Class Type</span></h2></label>
    </div>
    <div class="col-xs-2">
        <select name="class_type" id="class_type" class="  form-control input-lg" style="width:200px" autocomplete="off">
            <option >Economy</option>
            <option >Premium Economy</option>
            <option >Club World</option>
            <option >First Class</option>
        </select>
    </div>
</div>
</div>

3

내가 해결 한 방법은 단순히 내 사이트의 주요 CSS에있는 모든 텍스트 상자에 대한 재정의를 추가하는 것입니다.

.form-control {
    display:initial !important;
}

1
이것은 무엇을합니까?
AgilePro


0

수평 요소 용 부트 스트랩 4에서는 클래스 .row와 함께 사용 .col-*-*하여 레이블 및 컨트롤의 너비를 지정할 수 있습니다 . 이 링크 참조 .

단일 가로 행에 일련의 레이블, 양식 컨트롤 및 단추를 표시하려는 .form-inline경우이 링크에 대한 자세한 정보를 사용할 수 있습니다.


질문은 구체적으로 Bootstrap 3을 명시합니다.
blupointmedia 19

1
나는 부트 스트랩 4와 같은 문제가 있고, 나는 다른 도움말 사람에게 게시
Shojaeddin

-2

또는 다음을 수행 할 수 있습니다.

<table>
  <tr>
    <td><b>Return:</b></td>
    <td><input id="return1" name='return1' 
              class=" input input-sm" style="width:150px"
              type="text" value='8/28/2013'></td>
  </tr>
</table>

위의 제안을 모두 시도했지만 아무것도 작동하지 않았습니다. 12 개의 기둥 그리드에서 고정 된 수의 기둥을 선택하고 싶지 않습니다. 프롬프트와 그 직후의 입력을 원하며 필요에 따라 열을 늘리기를 원합니다.

예, 저는 그것이 부트 스트랩이 무엇인지에 대한 것임을 압니다. 그리고 절대로 테이블을 사용해서는 안됩니다. DIV는 테이블보다 훨씬 낫기 때문입니다. 그러나 문제는 테이블, 행 및 셀이 실제로 작동한다는 것입니다.

예-나는 CSS 열광자가 있다는 것을 정말로 알고 있으며, 무릎을 꿇는 반응은 결코 TABLE, TR 및 TD를 사용하지 않습니다. 예, DIV class = "row"및 DIV class = "cell"이있는 DIV class = "table"이 훨씬 더 낫다는 것을 알고 있습니다. 작동하지 않는 경우를 제외하고 많은 경우가 있습니다. 사람들이 그런 상황을 맹목적으로 무시해야한다고 생각하지 않습니다. TABLE / TR / TD가 잘 작동하는 경우가 있으며 더 우아하다고 간주되기 때문에 더 복잡하고 취약한 접근 방식을 사용할 이유가 없습니다. 개발자는 다양한 접근 방식의 이점과 장단점을 이해해야하며 DIV가 더 좋다는 절대적인 규칙은 없습니다.

"사례-이 논의를 기반으로 기존의 tds와 trs를 div로 변환했습니다. 45 분 동안 모든 것을 서로 나란히 배치하려고 애쓰다가 포기했습니다. TD는 10 초 후에 다시 작동합니다. -즉시-모든 브라우저에서 더 이상 할 일이 없습니다. 제발 이해해주세요. 다른 방법으로 실행하기를 원하는 이유가 무엇인지 알려주세요! " 보다 [ https://stackoverflow.com/a/4278073/1758051]

이: "

레이아웃은 쉬워야합니다. CSS에서 머리글과 바닥 글이있는 동적 3 열 레이아웃을 달성하는 방법에 대한 기사가 있다는 사실은 레이아웃 시스템이 좋지 않음을 보여줍니다. 물론 작동하도록 할 수는 있지만, 작동 방법에 대한 말 그대로 수백 개의 기사가 온라인에 있습니다. 명백하게 명백하기 때문에 표와 유사한 레이아웃에 대한 그러한 기사는 거의 없습니다. 테이블에 대해 무엇을 말하든 CSS를 선호하든이 사실은 모든 것을 취소합니다. CSS의 기본 3 열 레이아웃을 종종 "성배"라고합니다. "[ https://stackoverflow.com/a/4964107/ 1758051]

나는 아직 모든 상황에서 DIV가 항상 열에 정렬되도록 강제하는 방법을 보지 못했습니다. 실제로 문제가 발생하지 않는 사소한 예가 계속 표시됩니다. "반응 형"은 항상 열에 정렬 되지 않는 방식을 제공하는 것입니다 . 그러나 정말로 컬럼을 원한다면 DIV를 작동 시키려고 시간을 낭비 할 수 있습니다. 때로는 열광 자들이 뭐라고하든 적절한 기술을 사용해야합니다.


2
테이블이 응답하지 않습니다.
Pedro Moreira 2016

테이블이 테이블이 아닌 형식으로 다시 포맷되지 않는다는 것은 누구나 알고 있습니다. 그러나 필요한 것이 항상 행으로 유지되는 행이라면. 간단하게 DIV 태그로 이것을 시행 할 수 없습니다. 사람들은 당신이 항상 반응을 원하는 것처럼 행동하지만 당신이하는 일은 "대부분의 시간"과 "항상"을 혼동합니다. 글을 쓰는 시점에서이 답변에는 두 개의 반대표가 있습니다. 여기에서 내 요점에 동의하는 경우 때때로 TR이 필요하고 다른 사람들에게도 알리십시오.
AgilePro

귀하는 자신의 의견에 대한 권리가 있지만 일반적인 합의는 표 형식의 데이터를 표시하는 다른 어떤 것에 대해서도 표를 사용해서는 안된다는 것입니다. 테이블은 할 수있는 작업과 사용자 지정이 가능한지에 대해 너무 제한적입니다. 여전히 div에 테이블 행 및 열과 같은 흐름 기능을 제공해야하는 경우 flex : css-tricks.com/snippets/css/a-guide-to-flexbox
Pedro Moreira를
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.