2013-02-04 4 views
12

btn-block (트위터 부트 스트랩 문서에서 example)으로 스타일 화 된 button 엘리먼트를 사용하는 사이트가 있습니다. 이제 일부를 버튼 (example)을 분리하기 위해 전환하려고하지만 분할 버튼과 일반 버튼이 같은 길이가 될 수 없습니다.트위터 부트 스트랩의 전체 너비 분할 드롭 다운 버튼

나는 모든 종류의 것을 실험했지만,이 방법을 찾을 수없는 것 같습니다. 누구도 그 일을 할 수 있었습니까? 할 필요가 없다면 요소의 너비를 하드 코딩하고 싶지 않다는 것을 명심하십시오. (하드 코딩 된 백분율을 사용하지 않는 것도 포함됩니다.) 절대적으로 필요한 경우 단추의 토글 부분에 대한 너비를 정의하는 것이 좋습니다 (단 하나의 화살표 문자 만 있음을 알고 있기 때문에). 나중에 코드를 유지 관리하기 위해 가능한 "마술 번호"를 적게 지정하고 싶습니다.

+0

당신이 jsfiddle에서 문제를 복제 할 수 있습니다 :

.btn-flex { display: flex; align-items: stretch; align-content: stretch; } .btn-flex .btn:first-child { flex-grow: 1; } 

신용 펜의 저자로 이동? –

+0

@ Eric Oops, 나는 그 글을 게시하는 것을 잊어 버렸다. 여기 : http://jsfiddle.net/eBJGW/4/ –

+0

또한 부트 스트랩 CSS를 연결하십시오. –

답변

7

포장 용기의 드롭 다운 리드 :

(주 : 본 실시 예는 부트 스트랩 2.X위한)

.dropdown-lead { 
 
    width: 100%; 
 
} 
 

 
.leadcontainer { 
 
    left: 0; 
 
    position: absolute; 
 
    right: 30px; 
 
} 
 

 
.dropdown-toggle { 
 
    width: 30px; 
 
    float: right; 
 
    box-sizing: border-box; 
 
} 
 

 
.fillsplit { 
 
    position: relative; 
 
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/2.3.2/css/bootstrap.min.css"> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/2.3.2/js/bootstrap.min.js"></script> 
 

 
<button class="btn btn-block btn-primary" type="button">Block level button</button> 
 
<div class="btn-group btn-block fillsplit"> 
 
    <div class="leadcontainer"> 
 
    <a class="btn btn-primary dropdown-lead" href="#"><i class="icon-user icon-white"></i> User</a> 
 
    </div> 
 
    <a class="btn btn-primary dropdown-toggle" data-toggle="dropdown" href="#"><span class="caret"></span></a> 
 
    <ul class="dropdown-menu"> 
 
    <li><a href="#"><i class="icon-pencil"></i> Edit</a> 
 
    </li> 
 
    <li><a href="#"><i class="icon-trash"></i> Delete</a> 
 
    </li> 
 
    <li><a href="#"><i class="icon-ban-circle"></i> Ban</a> 
 
    </li> 
 
    <li class="divider"></li> 
 
    <li><a href="#"><i class="i"></i> Make admin</a> 
 
    </li> 
 
    </ul> 
 
    <div> 
 
    </div>
여기
.dropdown-lead{ 
    width: 96%; 
    box-sizing: border-box; 
} 
.dropdown-toggle{ 
    width: 4%; 
    box-sizing: border-box; 
} 

는 예제

+0

죄송합니다. 예, 이것은 내가 필요한 것을합니다. 좋네 보이는 코드가있는 솔루션이 있었으면 좋겠지 만, 그렇게 될지는 의문입니다. –

1

btn-block 클래스를 .btn-group 요소에 추가하고 dropdownbutton 요소에 width %를 지정하면 트릭을 수행하게됩니다. http://jsfiddle.net/eBJGW/5/

+0

이 솔루션은 나를 위해 작동하지 않습니다. 토글 버튼은 작은 크기가 아닌 일정한 크기 여야합니다. 창을 더 좁게 만들 때 화살표 문자가 4 % 상자보다 넓기 때문에 스크롤 막대가 표시됩니다. 창을 넓게 만들면 4 % 상자가 너무 커집니다. 반응 형 스타일로이 문제를 해결할 수는 있지만 실제로 너비를 수정하지 않고도 작동하는 솔루션을 찾고 있습니다. 또는 토글의 너비를 수정하고 주 버튼이 공간이 될 수있는 최소한의 솔루션을 찾고 있습니다. –

5

나는 같은 종류의 행동을 찾고 있었고이 flexbox 솔루션을 찾았습니다. http://codepen.io/ibanez182/pen/MwZwJp

flex-grow 속성을 사용하여 우아한 구현입니다.

.btn-flex 클래스를 HTML의 .btn-group에 추가하기 만하면됩니다. 이것은 모든 CSS는 당신이 필요로된다 Nicola Pressi

+0

나는 이것을 조사해야 할 것이다. Flexbox는 내가 처음 질문을했을 때 2013 년에 충분히 광범위하게 지원되지 않았습니다. –

관련 문제