将图标添加到输入提交按钮

创建于 2024-12-03 / 26
字体: [默认] [大] [更大]

主题:Bootstrap / Sass


答案:使用 CSS position 属性

因为 <input> 是一个空元素,所以我们不能像使用 <button> 元素创建的按钮那样将图标 HTML 直接放在输入按钮中。

但是,我们可以将 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>

如您所见,我们用 <span> 元素包装了 Glyphicon 和输入按钮,并在其上应用了类 .icon-input-btn。 这样做会自动在封闭的图标和输入按钮上应用一些样式,并强制它们进行必要的调整。

上面示例中的 jQuery 代码只是简单地从输入按钮中获取 font-sizecolor CSS 属性值并将其应用于相应的 Glyphicons。 它还调整了 Glyphicon 的 top 位置,使其在中间垂直对齐,以获得额外的小按钮。


FAQ 相关问题解答

以下是与此主题相关的更多常见问题解答:



0 人点赞过