帖子

加入 QQ 交流群(音游 / 编程)

喜欢本站?打赏作者

宣传Milracle 是一个由 星鸿 开发的 Milthm 二创社区,给玩家提供了在网页上游玩 Milthm 自制谱的渠道,谱面列表中也可以游玩在 PhiZone 上传 Milthm 的自制谱。

宣传Notanote 二周年版本已于 2 月 14 日更新!本次更新包含 5 首新曲,其中有 4 首独占,还有全新的谱面分类方式,详细内容请看 官方视频


日期

Bootstrap 不用网格系统,使表单标签和控件位于同一行,并修改控件宽度

之前做个人网站的 v2.0.0 更新,应用 Bootstrap 的表单样式时遇到了个问题,标签与控件不在同一行。

标签与控件不在同一行

去网上搜解决办法,有用网格系统的,有给 label 标签的 class 加上 form-inline 的,前者较繁琐,后者试了似乎没效果。所以我这里选择通过覆盖 Bootstrap 的 CSS 来实现,于是我打开开发者模式查看 form-control 的 CSS。

form-control 的 CSS

可以看到问题出在 display: block;width: 100%; 上,前者让控件显示为块级元素,后者把宽度设为 100%,所以把这俩属性的值改掉就行了。

/* 注意一定要在 Bootstrap 原样式之后引入样式或者加上 !important,不然会被 Bootstrap 原样式覆盖 */

.form-control {
    display: inline;
    width: auto;
    max-width: 100%; /* 防止控件宽度超出屏幕 */
}

/* 注意:像 .form-control-lg、.form-control-sm 等 class 和 .form-control 名字不同,可以用 [class^="form-control"] 选择器来选中它们 */

[class^="form-control"] {
    display: inline;
    width: auto;
    max-width: 100%;
}

搞定。

修改后效果