html - 使用显示 : flex; 等距元素

标签 html css flexbox

我正在尝试使用 Flexbox 来完成我目前正在做的一些 UI 工作。我有一组选择框,我用一些基本的 CSS 设计了样式。我要问你的问题是,我如何才能在不让一两个设备看起来彼此靠得太近的情况下将这些设备均匀地隔开?

#device-select {
    background: #2d2d2d;
    border-radius: 8px;
    width: 250px;
    display: flex;
    padding: 20px;
}
.rad, .ckb {
    cursor:pointer;
    flex: 1;
    text-align: center;
    color: white;
}
.rad > input, .ckb > input {
    /* Hide original radio and checkboxes */
    visibility: hidden;
    position: absolute;
}
.rad > i {
    font-size: 64px;
    color: #fff;
}
.rad:hover > i {
    /* HOVER <i> STYLE */
    color: wheat;
}
.rad > input:checked + i {
    color: purple;
}
<link href="http://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.3.0/css/font-awesome.min.css" rel="stylesheet"/>
<div id="device-select">
    <label class="rad">
        <input type="radio" name="device-choice" value="desktop" /> <i class="fa fa-desktop"></i>
Desktop</label>
    <label class="rad">
        <input type="radio" name="device-choice" value="tablet" /> <i class="fa fa-tablet"></i>
Tablet</label>
    <label class="rad">
        <input type="radio" name="device-choice" value="mobile" /> <i class="fa fa-mobile"></i>
Mobile</label>
</div>

最佳答案

请从 .rad, .ckb 中删除 flex: 1;

新代码应该是

.rad, .ckb {
    cursor:pointer;    
    text-align: center;
    color: white;
}

关于html - 使用显示 : flex; 等距元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29720588/

相关文章:

html - 让左边的div占满所有空间

html - 如何设置 html 元素,使其耗尽剩余的可视垂直空间

html - FancyBox iFrame 主体背景色

html - 使用 html 和 css 水平对齐图标和文本

html - CSS 中的波浪号是否只选择复选框后的元素?

html - 修复网站标题,以实现响应和浏览器兼容性

html - 按钮的静态宽度,textarea 的静态宽度

html - CSS列表喜欢

CSS:检查 href 是否是一个文件?

html - flex column boxes在Firefox和Safari中的渲染问题