【CSS 18】HTML表单优化 输入字段样式 输入框填充 边框美化 彩色输入框 获得焦点 图标与图像 动画效果 transition属性 文本域样式 select选择菜单 输入按钮 响应式

CSS


通过使用 CSS,可以极大地改善 HTML 表单的外观

<!DOCTYPE html>
<html>
<head>
<style>

input[type=text], select {
	width: 100%;
	paading: 12px 20px;
	margin: 8px 0;
	display: inline-block;
	border: 1px solid hotpink;
	border-radius: 4px;
	box-sizing: border-box;
}

input[type=submit] {
	width: 100%;
	background-color: #4CAF50;
	color: white;
	padding: 14px 20px;
	margin: 8px 0;
	border: none;
	border-radius:4px;
	cursor: pointer;
}

input[type=submit]:hover {
	background-color: #45a049;
}

div {
	border-radius: 15px;
	background-color: #f2f2f2;
	padding: 20px;
}
</style>
</head>
<body>

<h1>Using CSS to style a HTML Form</h1>

<div>
	<form action="/action_page.php">
		<label for="fname">First Name</label>
		<input type="text" id="fname" name="firstname" placeholder="Your name...">
		
		<label for="lname">Last Name</label>
		<input type="text" id="lname" name="lastname" placeholder="Your last name...">

		<label for="country">Country</label>
		<select id="country" name="country">
			<option value="australia">Australia</option>
			<option value="china">China</option>
			<option value="usa">USA</option>
		</select>

		<input type="submit" value="Submit">
	</form>
</div>

</body>
</html>

设置输入字段样式
使用 width 属性来确定输入字段的宽度

<style>
/*
适用于所有 <input> 元素
如果只想设置特定输入类型的样式,则可以使用属性选择器
- input[type=text] - 将仅选择文本字段
- input[type=password] - 将仅选择密码字段
- input[type=number] - 将仅选择数字字段
- ...
*/
input {
	width: 100%;
}
</style>

<body>

<p>全款输入字段</p>

<form>
	<label for="fname">First Name</label>
	<input type="text" id="fname" name="fname">
</form>

</body>

填充输入框
使用 padding 属性在文本字段内添加空间
提示:若有很多输入,那么可能还需要添加外边距,以便在它们之外添加更多空间

<!-- 
请注意已将 box-sizing 属性设置为 border-box
这样可以确保元素的总宽度和高度中包括内边距(填充)和最终的边框
-->
<!DOCTYPE html>
<html>
<head>
<style>
input[type=text] {
	width: 100%;
	padding: 12px 20px;
	margin: 8px 0;
	box-sizing: border-box;
}
</style>
</head>
<body>

<p>填充的文本字段</p>

<form>
	<label for="fname">First Name</label>
	<input type="text" id="fname" name="fname">
	<label for="lname">Last Name</label>
	<input type="text" id="lname" name="lname">
</form>

</body>
</html>

带边框的输入框

<!--
请使用 border 属性更改边框的粗细和颜色,并使用 border-radius 属性添加圆角
如果仅需要下边框,请使用 border-bottom 属性
-->
<!DOCTYPE html>
<html>
<head>
<style>
input[type=text] {
	width: 100%;
	padding: 12px 20px;
	margin: 8px 0;
	box-sizing: border-box;
	border: 3px solid green;
	border-radius: 6px;
}
	
</style>
</head>
<body>

<form>
	<label for="fname">First Name</label>
	<input type="text" id="fname" name="fname">
	<label for="lname">Last Name</label>
	<input type="text" id="lname" name="lname">
</form>

</body>
</html>

如果仅需要下边框,请使用 border-bottom 属性

input[type=text] {
	border: none;
	border-bottom: 2px solid red;
}

彩色输入框

<!DOCTYPE html>
<html>
<head>
<style>

input[type=text] {
	width: 100%;
	padding: 8px 12px;
	margin: 8px 0;
	box-sizing: border-box;
	border: none;
	border-radius: 6px;
	background-color: #3CBC8D;
	color: white;
}

</style>
</head>
<body>

<form>
	<label for="fname">First Name</label>
	<input type="text" id="fname" name="fname" value="Zhao">
	<label for="lname">Last Name</label>
	<input type="text" id="lname" name="lname" value="Zane">
</form>

</body>
</html>

获得焦点的输入框

<!DOCTYPE html>
<html>
<head>
<style>

input[type=text] {
	width: 100%;
	padding: 8px 12px;
	margin: 8px 0;
	box-sizing: border-box;
	border: 3px solid #ccc;
	-webkit-transition: 0.5s;
	transition: 0.5s;
	border-radius: 7px;
	background-color: green;
	color: #111;	
	outline: none;
}

input[type=text]:focus {
	background-color: lightgreen;
	border: 3px solid #555;
}

</style>
</head>
<body>

<form>
	<input type="text" id="fname" name="fname">
	<input type="text" id="lname" name="lname">
</form>

</body>
</html>

带有图标/图像的输入框

<!DOCTYPE html>
<html>
<head>
<style>
/*
如果希望在输入框中包含图标,请使用 background-image 属性,并将其与 background-position 属性一起设置
注意我们添加了一个较大的左内边距(padding-left)来留出图标的空间
*/
input[type=text] {
	width: 100%;
	box-sizing: border-box;
	border: 2px solid #ccc;
	border-radius: 6px;
	font-size: 12px;
	background-color: #aaa;
	background-image: url('searchicon.png');
	background-position: 10px 10px;
	background-repeat: no-repeat;
	padding: 12px 20px 12px 40px;
}
</style>
</head>
<body>

<form>
	<input type="text" name="search" placeholder="Search...">
</form>

</body>
</html>

带有动画效果的搜索输入框

/*
在本例中,我们使用 CSS transition 属性为搜索输入框获得焦点时的宽度变化设置动画
之后将在我们的 CSS 过渡 内容中学到更多有关 transition 属性的知识
*/
input[type=text] {
	width: 111px;
	box-sizing: border-box;
	border: 2px solid #ccc;
	border-radius: 4px;
	font-size: 16px;
	background-color: white;
	background-image: url('searchicon.png');
	background-position: 10px 10px;
	background-repeat: no-repeat;
	padding: 12px 20px 12px 40px;
	transition: width 0.4s ease-in-out;
}

input [type=text]:focus {
	width: 100%;
}

设置文本域的样式

<!DOCTYPE html>
<html>
<head>
<style>
textarea {
	width: 100%;
	height: 150px;
	padding: 12px 20px;
	box-sizing: border-box;
	border: 2px solid #ccc;
	border-radius: 6px;
	background-color: #AAA;
	font-size: 18px;
	resize: none;
}
</style>
</head>
<body>

<p><b>提示:</b>使用 resize 属性可防止调整 textareas 的大小(禁用右下角的“抓取器”):</p>

<form>
	<textarea>Some text...

设置选择菜单的样式

<!DOCTYPE html>
<html>
<head>
<style>
select {
	width: 100%;
	padding: 12px 20px;
	border: none;
	border-radius: 6px;
	background-color: #f1f1f1;
}
</style>
</head>
<body>

<p>具有样式的选择菜单</p>

<form>
	<select id="country" name="country">
	<option value="au">Australia</option>
	<option value="ca">Canada</option>
	<option value="usa">USA</option>
	</select>
</form>

</body>
</html>

设置输入按钮的样式

input[type=button], input[type=submit], input[type=reset] {
	background-color: #4CAF50;
	border: none;
	border-radius: 26px;
	color: white;
	padding: 16px 32px;
	text-decoration: none;
	margin: 4px 2px;
	cursor: pointer;
}

响应式菜单
媒体查询

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Zanebla

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值