Как выровнять элементы выпадающего меню bootstrap-vue - PullRequest
0 голосов
/ 02 октября 2018

Как выровнять выпадающую кнопку дочерних элементов по горизонтали вокруг.Мне не удалось настроить его с помощью CSS.управляющая ссылка здесь

Js Образец скрипки здесь

ожидаемый дизайн:

enter image description here

    new Vue({
  el: '#app',
 
data:{
       
         fruits: ['Apple', 'Banana', 'Orange'],
         selectedFruit: '',
       
     },
     methods: {
    selectFruit (index) {
      this.selectedFruit = this.fruits[index]
        }
      }
})
   

 .dropdown-demo {
  width: 200px;
  background-color: white;
  border-bottom: solid 1px black;
  >div {
    background-color: azure;
    width: 100%;
    button {
      background-color: yellow !important;
      padding-left: 0;
      padding-right: 0;
      width: 100%;
      text-align: right
    }
  }
  <link type="text/css" rel="stylesheet" href="//unpkg.com/bootstrap/dist/css/bootstrap.min.css"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.16/vue.js"></script>
<link type="text/css" rel="stylesheet" href="//unpkg.com/bootstrap-vue@latest/dist/bootstrap-vue.css"/>

<script src="//unpkg.com/babel-polyfill@latest/dist/polyfill.min.js"></script>
<script src="//unpkg.com/bootstrap-vue@latest/dist/bootstrap-vue.js"></script>
<div id="app">
         <div class="dropdown-demo">
            <b-dropdown variant="link" size="lg" no-caret>
              <template slot="button-content">
                <span>Fruits:</span>
                <span> {{selectedFruit}}</span>
                &#x1f50d;<span class="sr-only">Search</span>
              </template>
              <b-dd-item v-for="(item, id) in fruits"
                         @click="selectFruit(id)"
                         :key="id">
                {{item}}
              </b-dd-item>
            </b-dropdown>
          </div>
</div>

1 Ответ

0 голосов
/ 03 октября 2018

добавить к вашему div, который содержит slot="button-content" класс с именем dd, который имеет следующие правила:

  .dd{
    width:190px;
    display:flex;
    flex-direction:row;
    justify-content:space-between;
    align-items:center;
    }

new Vue({
  el: '#app',
 
data:{
       
         fruits: ['Apple', 'Banana', 'Orange'],
         selectedFruit: '',
       
     },
     methods: {
    selectFruit (index) {
      this.selectedFruit = this.fruits[index]
        }
      }
})
.dropdown-demo {
  width: 200px;
  background-color: white;
  border-bottom: solid 1px black;
}

.dd{

width:190px;
display:flex;
flex-direction:row;
justify-content:space-between;
align-items:center;
}
<link type="text/css" rel="stylesheet" href="//unpkg.com/bootstrap/dist/css/bootstrap.min.css"/>
<script src="https://cdnjs.cloudflare.com/ajax/libs/vue/2.5.16/vue.js"></script>
<link type="text/css" rel="stylesheet" href="//unpkg.com/bootstrap-vue@latest/dist/bootstrap-vue.css"/>

<script src="//unpkg.com/babel-polyfill@latest/dist/polyfill.min.js"></script>
<script src="//unpkg.com/bootstrap-vue@latest/dist/bootstrap-vue.js"></script>
<div id="app">
     <div class="dropdown-demo">
        <b-dropdown variant="link" size="lg" no-caret>
          <div slot="button-content" class="dd">
            <div>Fruits:</div>
            <div> {{selectedFruit}}</div>
            &#x1f50d;<span class="sr-only">Search</span>
          </div>
          <b-dd-item  v-for="(item, id) in fruits"
                     @click="selectFruit(id)"
                     :key="id">
            {{item}}
          </b-dd-item>
        </b-dropdown>
      </div>
</div>
...