#html #css
#HTML #css
Вопрос:
Я пытаюсь реализовать простую браузерную игру для изучения веб-разработки. У меня есть группа divs, с помощью которой я хочу представить воина. Здесь у меня есть группа кнопок с 4 кнопками во главе «таблицы div». Проблема в том, что 4 кнопки не отображаются в одной строке, когда экран становится меньше. Другая проблема заключается в том, что между кнопками есть пробелы, но я хочу, чтобы они динамически заполняли всю группу кнопок. Итак, если есть две кнопки, они также должны заполнить группу кнопок. Кто-нибудь может помочь?
Вот мой jsfiddle:
.div-TableHeadName {
padding-top:6px;
height:35px;
background-color: darkgrey;
}
.div-TableHeadClass {
padding-top:6px;
background-color: darkgrey;
height:35px;
}
.div-TableBodyImage{
height:160px;
background-color: lightgrey;
}
.div-TableBodyDescription{
height: 160px;
background-color: lightgrey;
}
.btn--actionType{
background-color: lightgrey;
border-radius: 0 !important;
height: 35px;
width: 25%
}
.btn--actionType:hover{
background-color: red;
}
.btn--performAction{
background-color: black;
border-radius: 0 !important;
color: white;
height: 35px;
width: 25%
}
.btn--group{
cursor:pointer;
}
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<body>
<div class="div-Table">
<div class="col-md-2 col-sm-2 col-xs-2 div-TableHeadName">
<span>Guldan</span>
</div>
<div class="col-md-4 col-sm-4 col-xs-4 div-TableHeadClass">
<span>Warrior</span>
</div>
<div class="col-md-6 col-sm-6 col-xs-6">
<btn-group data-toggle="buttons" class="btn--group">
<div class="btn btn--actionType">
<label>
<input type="radio" name="action" value="sword"/>Sword
</label>
</div>
<div class="btn btn--actionType">
<label>
<input type="radio" name="action" value="axe"/>Axe
</label>
</div>
<div class="btn btn--actionType">
<label>
<input type="radio" name="action" value="bow"/>Bow
</label>
</div>
<div type="button" class="btn btn--performAction">Attack
</div>
</btn-group>
</div>
</div>
<div style="padding-top:10px" class="col-md-2 col-sm-2 col-xs-2 div-TableBodyImage">
<img src="https://upload.wikimedia.org/wikipedia/en/b/b1/Portrait_placeholder.png" width="100"/>
</div>
<div style="padding: 10px" class="col-md-10 col-sm-10 col-xs-10 div-TableBodyDescription">
<span>This is a description for Guldan, an orc warrior.</span>
</div>
</body>
Комментарии:
1. Кажется необычным, что переключатели выглядят как обычные кнопки. Я бы не считал это хорошим UX. Просто мое мнение.
Ответ №1:
.div-TableHeadName {
padding-top:6px;
height:35px;
background-color: darkgrey;
}
.div-TableHeadClass {
padding-top:6px;
background-color: darkgrey;
height:35px;
}
.div-TableBodyImage{
height:160px;
background-color: lightgrey;
}
.div-TableBodyDescription{
height: 160px;
background-color: lightgrey;
}
.btn--actionType{
background-color: lightgrey;
border-radius: 0 !important;
height: 35px;
width: 25%;
float: left;
}
.btn--actionType:hover{
background-color: red;
}
.btn--performAction{
background-color: black;
border-radius: 0 !important;
color: white;
height: 35px;
width: 25%
}
.btn--group{
cursor:pointer;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<body>
<div class="div-Table">
<div class="col-md-6 col-sm-6 col-xs-6">
<btn-group data-toggle="buttons" class="btn--group">
<div class="btn btn--actionType">
<label>
<input type="radio" name="action" value="sword"/>Sword
</label>
</div>
<div class="btn btn--actionType">
<label>
<input type="radio" name="action" value="axe"/>Axe
</label>
</div>
<div class="btn btn--actionType">
<label>
<input type="radio" name="action" value="bow"/>Bow
</label>
</div>
<div type="button" class="btn btn--performAction">Attack
</div>
</btn-group>
</div>
</div>
</body>
Иногда сокращение вашей проблемы только до важных элементов может помочь вам решить проблему. Я сделал это в коде, который вы видите. Оказывается, что перемещение кнопок вместо «встроенного блока» устраняет обе проблемы, с которыми вы сталкиваетесь. Встроенный блок специально добавляет туда немного места, плавающий — нет. Кроме того, из-за дополнительного пространства ваши 25% кнопок переносятся.