如何在 Bootstrap 中添加图标以输入提交按钮
答案:使用 CSS position
属性
因为
是一个空元素,所以我们不能像使用 <input>
元素创建的按钮那样将图标 HTML 直接放在输入按钮中。<button>
但是,我们可以将 Glyphicon 放置在输入按钮的外部,并在视觉上将其推入内部,以使用 CSS 定位技术创建看起来图标放置在按钮本身内部的效果。
让我们试试下面的例子来了解它的基本工作原理:
示例
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>使用图标创建 Bootstrap 输入按钮</title>
<link rel="stylesheet" href="css/bootstrap.min.css">
<link rel="stylesheet" href="css/font-awesome.min.css">
<script src="js/jquery-3.5.1.min.js"></script>
<script src="js/bootstrap.min.js"></script>
<style>
.icon-input-btn{
display: inline-block;
position: relative;
}
.icon-input-btn input[type="submit"]{
padding-left: 2em;
}
.icon-input-btn .fa{
display: inline-block;
position: absolute;
left: 0.65em;
top: 30%;
}
</style>
<script>
$(document).ready(function(){
$(".icon-input-btn").each(function(){
var btnFont = $(this).find(".btn").css("font-size");
var btnColor = $(this).find(".btn").css("color");
$(this).find(".fa").css({'font-size': btnFont, 'color': btnColor});
});
});
</script>
</head>
<body>
<div class="m-3">
<span class="icon-input-btn">
<i class="fa fa-search"></i>
<input type="submit" class="btn btn-primary btn-lg" value="Search">
</span>
<span class="icon-input-btn">
<i class="fa fa-search"></i>
<input type="submit" class="btn btn-secondary btn-lg" value="Search">
</span>
<hr>
<span class="icon-input-btn">
<i class="fa fa-search"></i>
<input type="submit" class="btn btn-primary" value="Search">
</span>
<span class="icon-input-btn">
<i class="fa fa-search"></i>
<input type="submit" class="btn btn-secondary" value="Search">
</span>
<hr>
<span class="icon-input-btn">
<i class="fa fa-search"></i>
<input type="submit" class="btn btn-primary btn-sm" value="Search">
</span>
<span class="icon-input-btn">
<i class="fa fa-search"></i>
<input type="submit" class="btn btn-secondary btn-sm" value="Search">
</span>
</div>
</body>
</html>
如您所见,我们用
元素包装了 Glyphicon 和输入按钮,并在其上应用了类 <span>
.icon-input-btn
。 这样做会自动在封闭的图标和输入按钮上应用一些样式,并强制它们进行必要的调整。
上面示例中的 jQuery 代码只是简单地从输入按钮中获取 font-size
和 color
CSS 属性值并将其应用于相应的 Glyphicons。 它还调整了 Glyphicon 的 top
位置,使其在中间垂直对齐,以获得额外的小按钮。
FAQ 相关问题解答
以下是与此主题相关的更多常见问题解答: