表单登录css样式_使用CSS3简化一个光滑的登录表单

表单登录css样式

让我们使用基本HTML5创建一个最小巧的登录表单,然后使用一些CSS3技术对其进行增强。 是时候将一些简单的元素变成美丽的东西了。

寻找捷径?

如果您想为自己的网站提供一些漂亮CSS3表单,并且不想自己创建它们,那么Envato Market上的CSS3 Form Pack不会出错。 仅需$ 5,您即可:

  • 33种登录表单样式
  • 66种搜索表单样式
  • 12种联系表单样式
  • 具有文本框,文本区域,单选按钮,复选框,选择框样式的一般形式
  • 每种形式的各种颜色样式

难怪它是Envato市场上最畅销CSS3表单项之一。


介绍

Web表单是网站设计不可或缺的一部分。 无论目的如何,表单都旨在成为用户输入值和提交数据的简单方法。 有了HTML5和CSS3,我们可以创建直观易用且外观吸引人的表单。


该设计

我认为网页设计应该干净高效。 我们将要编码的表单设计遵循这些原则,仅包括三个元素:用户名输入,密码输入和提交输入。 由于标记非常简单,因此当我们将标记编码为HTML和CSS时,它可以提供更大的灵活性。

这是设计中我们需要记住的一些元素:

  • 渐变色
  • 内心的阴影
  • 不透明边界
  • 文字阴影
  • 占位符文字

大多数元素都是CSS样式,但是我们也会检查placeholder属性,因为这将向我们的用户建议他们应该输入哪种数据。


步骤1:基础HTML和CSS结构

让我们首先创建一个带有表单和三个输入的干净HTML5模板:

<!DOCTYPE html>
<html lang="en">

<head>
	<meta charset="utf-8">
	<title>slick Login</title>
	<meta name="description" content="slick Login">
	<meta name="author" content="Webdesigntuts+">
</head>

<body>
	<form>
		<input type="text" name="username">
		<input type="password" name="password">
		<input type="submit" value="Log In">
	</form>
</body>
	
</html>

现在,我们没有什么特别之处,只有一个表格,三个输入和一个空白文档。 让我们创建一个名为style.cssCSS文件,并将其链接回我们HTML页面:

<link rel="stylesheet" type="text/css" href="style.css" />

请记住,CSS文件当前位于我们的主目录中。 如果选择将CSS文件放在另一个文件夹(例如文件夹'css')中 ,请确保使用正确的路径。

在将自己的样式添加到CSS文件之前,从干净的表盘开始一直是一个好习惯。 我们将从Eric Meyer的CSS Reset开始样式,该样式会删除默认样式,并允许我们在任何浏览器中从同一点构建规则。

让我们从为登录页面定义字体和背景渐变开始。 在CSS重置后插入以下代码:

body {
	font-family: sans-serif;
	
	background-color: #323B55;
	background-image: -webkit-linear-gradient(bottom, #323B55 0%, #424F71 100%);
	background-image: -moz-linear-gradient(bottom, #323B55 0%, #424F71 100%);
	background-image: -o-linear-gradient(bottom, #323B55 0%, #424F71 100%);
	background-image: -ms-linear-gradient(bottom, #323B55 0%, #424F71 100%);
	background-image: linear-gradient(bottom, #323B55 0%, #424F71 100%);
}

现在,我们已经添加了这段代码,页面现在应该具有很酷的线性渐变背景。 渐变从颜色为#323B55的页面底部(0%)开始,到颜色为#424F71的页面顶部(100%)结束。 万一从不支持渐变的浏览器查看页面,则声明一个background-color至关重要,我将它设置为与渐变相同的颜色(0%)。 CSS3渐变的妙处在于您可以添加许多“色标”,例如,另一种颜色更改为25%。 在body标签中添加的最后一件事是font-family ,我决定使用Sans Serif类型。

现在我们有了基础,是时候开始添加更多样式了!


步骤2:设置登录表单的样式

在为登录表单启动CSS样式之前,我们需要向HTML文档中添加一些内容。 首先,首先在表单中添加一个id ,我们将其称为'slick-login' 。 接下来,在每个输入标签中添加一个placeholder属性。 到目前为止,这是HTML页面的外观:

<!DOCTYPE html>
<html lang="en">

<head>
	<meta charset="utf-8">
	<title>slick Login</title>
	<meta name="description" content="slick Login">
	<meta name="author" content="Webdesigntuts+">
	<link rel="stylesheet" type="text/css" href="style.css" />
</head>

<body>
	<form id="slick-login">
		<input type="text" name="username" placeholder="me@tutsplus.com">
		<input type="password" name="password" placeholder="password">
		<input type="submit" value="Log In">
	</form>
</body>

</html>

HTML5输入占位符属性是对输入标签的重要补充。 代替使用用户必须替换的输入值, placeholder属性使我们可以显示帮助文本,并在用户开始在字段中键入内容后消失。 它尚未得到广泛支持 ,因此应谨慎使用。 举例来说, placeholder属性在浏览器中不起作用,用户将不知道要输入什么值。 稍后我们将介绍一种后备技术,但是占位符文本应作为建议而不是标记输入也不是一文不值。

现在我们有了更新HTML页面,我们可以开始在登录表单中添加一些样式了。 这是我们之前声明的表单idCSS。

#slick-login {
	width: 220px;
	height: 155px;
	position: absolute;
	left: 50%;
	top: 50%;
	margin-left: -110px;
	margin-top: -75px;
}

对于此登录表单,我决定将其在页面中心完美地(水平和垂直)对齐。 定位这样的元素非常简单。 从上面的代码中可以看到,将元素从顶部和左侧放置50%,然后使用边距值将元素的宽度和高度推回一半。 这是一种在页面中心对齐元素的好方法,但是在灵活性方面并不是那么好。 例如,如果要复制元素,则必须更改宽度,高度和边距值,以保持元素对齐。 即使我将表单对齐在页面中心,也可以随时将代码更改为所需的代码!

现在我们已经对齐了表单,是时候继续对输入进行样式设置了!


步骤3:设置输入样式

现在,我们真的很有趣。 首先,为文本和密码输入添加CSS:

#slick-login input[type="text"],#slick-login input[type="password"] {
	width: 100%;
	height: 40px;
	positon: relative;
	margin-top: 7px;
	font-size: 14px;
	color: #444;
	outline: none;
	border: 1px solid rgba(0, 0, 0, .49);

	padding-left: 20px;
	
	-webkit-background-clip: padding-box;
	-moz-background-clip: padding-box;
	background-clip: padding-box;
	border-radius: 6px;

	background-color: #fff;
	background-image: -webkit-linear-gradient(bottom, #FFFFFF 0%, #F2F2F2 100%);
	background-image: -moz-linear-gradient(bottom, #FFFFFF 0%, #F2F2F2 100%);
	background-image: -o-linear-gradient(bottom, #FFFFFF 0%, #F2F2F2 100%);
	background-image: -ms-linear-gradient(bottom, #FFFFFF 0%, #F2F2F2 100%);
	background-image: linear-gradient(bottom, #FFFFFF 0%, #F2F2F2 100%);

	-webkit-box-shadow: inset 0px 2px 0px #d9d9d9;
	box-shadow: inset 0px 2px 0px #d9d9d9;

}

#slick-login input[type="text"]:focus,#slick-login input[type="password"]:focus {
	-webkit-box-shadow: inset 0px 2px 0px #a7a7a7;
	box-shadow: inset 0px 2px 0px #a7a7a7;
}

#slick-login input:first-child {
	margin-top: 0px;
}

请记住,我们的目标是使表格具有灵活性。 我没有声明固定的输入宽度,而是决定了相对于表单宽度的宽度。 这样,如果我们决定更改表单的宽度,则所有输入将相应地更改。

因为我们声明了所有输入的margin-top值,所以我们需要添加first-child选择器,并确保第一个输入的margin-top设置为零。 这样,第一个输入值将始终位于表单的顶部。

要记住的另一件事是将outline属性设置为none,以便浏览器不会在我们的输入中添加任何不需要的轮廓。

透明边框

为了使表单更加灵活,我们将添加透明边框,以便无论网站有什么背景,表单都将更改以适合它。 由于opacity属性会更改整个元素的不透明度,因此我决定搜索一种仅更改边框不透明度的方法。
如果在rgba中声明边框颜色,则可以添加一个alpha值。 如上所示,我们的边框是一个1像素的黑色实心边框,但其不透明度为47%。

填充问题

在我们的设计中,字段中的文本向右移动。 要在CSS中实现此效果,我们可以简单地使用padding-left属性并将其设置为20px。 当我们渲染代码时,就会出现问题。 填充值将20像素添加到输入宽度,这不是我们想要的。

为了解决这个问题,我们可以添加一个background-clip属性,并将其值设置为padding-box。 这个CSS片段确保了填充不会影响输入的宽度。 您可以在Mozilla上了解有关background-clip属性的更多信息。

添加内在阴影

另一个非常酷CSS3属性是box-shadow 。 使用inset参数可让我们在输入元素上创建内部阴影。 使用focus选择器,我们可以轻松地在用户单击字段时更改周围的值和颜色。


步骤4:样式化Submit按钮

提交按钮是表单中非常重要的部分,因此让我们脱颖而出! 这是我们将用于提交输入CSS:

#slick-login input[type="submit"] {
	width: 100%;
	height: 50px;
	margin-top: 7px;
	color: #fff;
	font-size: 18px;
	font-weight: bold;
	text-shadow: 0px -1px 0px #5b6ddc;
	outline: none;
	border: 1px solid rgba(0, 0, 0, .49);

	-webkit-background-clip: padding-box;
	-moz-background-clip: padding-box;
	background-clip: padding-box;
	border-radius: 6px;

	background-color: #5466da;
	background-image: -webkit-linear-gradient(bottom, #5466da 0%, #768ee4 100%);
	background-image: -moz-linear-gradient(bottom, #5466da 0%, #768ee4 100%);
	background-image: -o-linear-gradient(bottom, #5466da 0%, #768ee4 100%);
	background-image: -ms-linear-gradient(bottom, #5466da 0%, #768ee4 100%);
	background-image: linear-gradient(bottom, #5466da 0%, #768ee4 100%);

	cursor: pointer;
	
	-webkit-box-shadow: inset 0px 1px 0px #9ab1ec;
	box-shadow: inset 0px 1px 0px #9ab1ec;

}

#slick-login input[type="submit"]:hover {
	background-color: #5f73e9;
	background-image: -webkit-linear-gradient(bottom, #5f73e9 0%, #859bef 100%);
	background-image: -moz-linear-gradient(bottom, #5f73e9 0%, #859bef 100%);
	background-image: -o-linear-gradient(bottom, #5f73e9 0%, #859bef 100%);
	background-image: -ms-linear-gradient(bottom, #5f73e9 0%, #859bef 100%);
	background-image: linear-gradient(bottom, #5f73e9 0%, #859bef 100%);

	-webkit-box-shadow: inset 0px 1px 0px #aab9f4;
	box-shadow: inset 0px 1px 0px #aab9f4;
	
	margin-top: 10px;
}

#slick-login input[type="submit"]:active {
	background-color: #7588e1;
	background-image: -webkit-linear-gradient(bottom, #7588e1 0%, #7184df 100%);
	background-image: -moz-linear-gradient(bottom, #7588e1 0%, #7184df 100%);
	background-image: -o-linear-gradient(bottom, #7588e1 0%, #7184df 100%);
	background-image: -ms-linear-gradient(bottom, #7588e1 0%, #7184df 100%);
	background-image: linear-gradient(bottom, #7588e1 0%, #7184df 100%);

	-webkit-box-shadow: inset 0px 1px 0px #93a9e9;
	box-shadow: inset 0px 1px 0px #93a9e9;
}

我们提交按钮CSS非常简单。 我们使用边框,渐变和内部阴影使按钮突出。 我们要查看的另一个CSS3属性是text-shadow

为了使按钮文字更加突出,我们将在文字上方添加一个1px的纯阴影。 使用较深的颜色(#5b6ddc),我们可以使白色文本在浅蓝色背景下更加突出。 即使是最微妙的效果(例如添加文本阴影)也可以为您的设计添加很多东西,从而使文本脱颖而出。

我继续并添加了hoveractive选择器的代码。 所更改的只是渐变的颜色和内部阴影。 注意颜色的变化是多么微妙,但它为设计增加了很多。 在悬停状态下,我还将margin-top的值更改为低三个像素。 变化感觉自然,并增加了外观的优雅度。

到目前为止,一切看起来都很不错,但是如果您将鼠标悬停并单击某些元素,则似乎有点断断续续。 是时候添加一些动画了!


步骤5:向元素添加过渡

为了使事情变得更好,让我们在输入中添加以下CSS代码:

-webkit-transition: all .1s ease-in-out;
-moz-transition: all .1s ease-in-out;
-o-transition: all .1s ease-in-out;
-ms-transition: all .1s ease-in-out;
transition: all .1s ease-in-out;

通过快速简单的过渡,我们所有的元素在外观和感觉上都会好很多。 注意文本输入中内部阴影颜色的过渡以及悬停时提交按钮动画的过渡; 过渡使表格看起来很完整。

尽管一切看起来都不错,但让我们在每天称呼之前再添加一些其他东西。


步骤6:添加标签

为了确保我们的表单可以正确访问,请在您的input标签旁边添加以下标记:

<label for="username">username</label>
<label for="password">password</label>

因为我们希望使表单尽可能简单,所以我们决定使用placeholder属性。 另一种可行的方法是添加label标签。 因为我们不需要设计中的标签,而是出于可访问性和SEO的目的,所以我们将在以下代码中添加此CSS代码:

#slick-login label {
	display: none;
}

display属性设置为none可以实现我们想要的外观,在这种情况下,根本就不是外观!


步骤7:跨浏览器兼容性

现在,让我们回到使用placeholder属性时可能遇到的问题。 假设某人正在通过不支持placeholder的浏览器查看此网站:我们的空白输入将毫无帮助。 为了解决这个问题,我们将使用jQueryModernizr来检测支持并纠正不存在的情况。 首先,让我们将脚本链接到我们HTML页面。

将脚本标签放在HTML的<head>中。 为了获得最佳性能,您应该让它们遵循样式表引用。 我们建议将Modernizr放在首位的原因有两个:HTML5 Shiv(在IE中启用HTML5元素)必须在<body>之前执行-Modernizr

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
<script src="http://www.modernizr.com/downloads/modernizr-latest.js"></script>

现在,创建一个名为placeholder.js的新JavaScript文件。 独特方法具有使用Modernizr为placeholder属性创建后备的好方法。 将此代码添加到javascript文件中:

$(function()
{
    // check placeholder browser support
    if (!Modernizr.input.placeholder)
    {
         // set placeholder values
        $(this).find('[placeholder]').each(function()
        {
            if ($(this).val() == '') // if field is empty
            {
                $(this).val( $(this).attr('placeholder') );
            }
        });
         // focus and blur of placeholders
        $('[placeholder]').focus(function()
        {
            if ($(this).val() == $(this).attr('placeholder'))
            {
                $(this).val('');
                $(this).removeClass('placeholder');
            }
        }).blur(function()
        {
            if ($(this).val() == '' || $(this).val() == $(this).attr('placeholder'))
            {
                $(this).val($(this).attr('placeholder'));
                $(this).addClass('placeholder');
            }
        });
         // remove placeholders on submit
        $('[placeholder]').closest('form').submit(function()
        {
            $(this).find('[placeholder]').each(function()
            {
                if ($(this).val() == $(this).attr('placeholder'))
                {
                    $(this).val('');
                }
            })
        });
     }
});

我们还将把javascript文件链接到我们HTML页面:

<script type="text/javascript" src="placeholder.js"></script>

为了完成这项工作,我们需要在字段输入中添加一个placeholder类:

<input type="text" name="username" class="placeholder" placeholder="me@tutsplus.com">
<input type="password" name="password" class="placeholder" placeholder="password">

现在,让我们在CSS文件中添加placeholder类的样式:

.placeholder {
    color: #444;
}

在我们讨论它的同时,我们还添加了一个有用CSS代码段,该代码段可确保输入的宽度保持相同,而不考虑填充和边框:

* { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }

对于为何更多信息box-sizing是如此之大,保罗爱尔兰有一个很好的解释


步骤8:添加简单的动画

为了使我们的表单更加精美,当页面加载时,我们将向表单添加一个简单的上升动画。 让我们从声明动画和添加关键帧开始:

@keyframes "login" {
 0% {
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
   	filter: alpha(opacity=0);
   	opacity: 0;
   	margin-top: -50px;
 }
 100% {
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
   	filter: alpha(opacity=100);
   	opacity: 1;
   	margin-top: -75px;
 }

}

@-moz-keyframes login {
 0% {
   filter: alpha(opacity=0);
   opacity: 0;
   margin-top: -50px;
 }
 100% {
   filter: alpha(opacity=100);
   opacity: 1;
   margin-top: -75px;
 }

}

@-webkit-keyframes "login" {
 0% {
   filter: alpha(opacity=0);
   opacity: 0;
   margin-top: -50px;
 }
 100% {
   filter: alpha(opacity=100);
   opacity: 1;
   margin-top: -75px;
 }

}

@-ms-keyframes "login" {
 0% {
   -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
   filter: alpha(opacity=0);
   opacity: 0;
   margin-top: -50px;
 }
 100% {
   -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
   filter: alpha(opacity=100);
   opacity: 1;
   margin-top: -75px;
 }

}

@-o-keyframes "login" {
 0% {
   filter: alpha(opacity=0);
   opacity: 0;
   margin-top: -50px;
 }
 100% {
   filter: alpha(opacity=100);
   opacity: 1;
   margin-top: -75px;
 }

}

上面CSS声明了一个名为login的新动画,并更改了margin-topopacity值,以便该表格淡入并升入位置。 现在,让我们在CSS中添加slick-login ID:

-webkit-animation: login 1s ease-in-out;
	-moz-animation: login 1s ease-in-out;
	-ms-animation: login 1s ease-in-out;
	-o-animation: login 1s ease-in-out;
	animation: login 1s ease-in-out;

现在,每次页面加载时,将执行一秒钟的动画。 现在我们已经设置了样式,固定和动画,我们完成了!


最终HTML和CSS

下面是这种精美的登录表单的最终HTML:

<!DOCTYPE html>
<html lang="en">

<head>
	<meta charset="utf-8">
	<title>Slick Login</title>
	<meta name="description" content="slick Login">
	<meta name="author" content="Webdesigntuts+">
	<link rel="stylesheet" type="text/css" href="style.css" />
	<script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
	<script src="http://www.modernizr.com/downloads/modernizr-latest.js"></script>
	<script type="text/javascript" src="placeholder.js"></script>
</head>

<body>
	<form id="slick-login">
		<label for="username">username</label><input type="text" name="username" class="placeholder" placeholder="me@tutsplus.com">
		<label for="password">password</label><input type="password" name="password" class="placeholder" placeholder="password">
		<input type="submit" value="Log In">
	</form>
</body>

</html>

和CSS:

/*
CSS RESET
http://meyerweb.com/eric/tools/css/reset/
v2.0 | 20110126
License:  none (public domain)
 */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section {
	display: block;
}

body {
	line-height: 1;
}

ol,ul {
	list-style: none;
}

blockquote,q {
	quotes: none;
}

blockquote:before,blockquote:after,q:before,q:after {
	content: '';
	content: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

/* CSS Animations */
@keyframes "login" {
 0% {
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
   	filter: alpha(opacity=0);
   	opacity: 0;
   	margin-top: -50px;
 }
 100% {
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
   	filter: alpha(opacity=100);
   	opacity: 1;
   	margin-top: -75px;
 }

}

@-moz-keyframes login {
 0% {
   filter: alpha(opacity=0);
   opacity: 0;
   margin-top: -50px;
 }
 100% {
   filter: alpha(opacity=100);
   opacity: 1;
   margin-top: -75px;
 }

}

@-webkit-keyframes "login" {
 0% {
   filter: alpha(opacity=0);
   opacity: 0;
   margin-top: -50px;
 }
 100% {
   filter: alpha(opacity=100);
   opacity: 1;
   margin-top: -75px;
 }

}

@-ms-keyframes "login" {
 0% {
   -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
   filter: alpha(opacity=0);
   opacity: 0;
   margin-top: -50px;
 }
 100% {
   -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
   filter: alpha(opacity=100);
   opacity: 1;
   margin-top: -75px;
 }

}

@-o-keyframes "login" {
 0% {
   filter: alpha(opacity=0);
   opacity: 0;
   margin-top: -50px;
 }
 100% {
   filter: alpha(opacity=100);
   opacity: 1;
   margin-top: -75px;
 }

}

/* Main CSS */
* { -moz-box-sizing: border-box; -webkit-box-sizing: border-box; box-sizing: border-box; }

body {
	font-family: sans-serif;
	
	background-color: #323B55;
	background-image: -webkit-linear-gradient(bottom, #323B55 0%, #424F71 100%);
	background-image: -moz-linear-gradient(bottom, #323B55 0%, #424F71 100%);
	background-image: -o-linear-gradient(bottom, #323B55 0%, #424F71 100%);
	background-image: -ms-linear-gradient(bottom, #323B55 0%, #424F71 100%);
	background-image: linear-gradient(bottom, #323B55 0%, #424F71 100%);
}

#slick-login {
	width: 220px;
	height: 155px;
	position: absolute;
	left: 50%;
	top: 50%;
	margin-left: -110px;
	margin-top: -75px;

	-webkit-animation: login 1s ease-in-out;
	-moz-animation: login 1s ease-in-out;
	-ms-animation: login 1s ease-in-out;
	-o-animation: login 1s ease-in-out;
	animation: login 1s ease-in-out;
}

#slick-login label {
	display: none;
}

.placeholder {
    color: #444;
}

#slick-login input[type="text"],#slick-login input[type="password"] {
	width: 100%;
	height: 40px;
	positon: relative;
	margin-top: 7px;
	font-size: 14px;
	color: #444;
	outline: none;
	border: 1px solid rgba(0, 0, 0, .49);

	padding-left: 20px;
	
	-webkit-background-clip: padding-box;
	-moz-background-clip: padding-box;
	background-clip: padding-box;
	border-radius: 6px;

	background-image: -webkit-linear-gradient(bottom, #FFFFFF 0%, #F2F2F2 100%);
	background-image: -moz-linear-gradient(bottom, #FFFFFF 0%, #F2F2F2 100%);
	background-image: -o-linear-gradient(bottom, #FFFFFF 0%, #F2F2F2 100%);
	background-image: -ms-linear-gradient(bottom, #FFFFFF 0%, #F2F2F2 100%);
	background-image: linear-gradient(bottom, #FFFFFF 0%, #F2F2F2 100%);

	-webkit-box-shadow: inset 0px 2px 0px #d9d9d9;
	box-shadow: inset 0px 2px 0px #d9d9d9;

	-webkit-transition: all .1s ease-in-out;
	-moz-transition: all .1s ease-in-out;
	-o-transition: all .1s ease-in-out;
	-ms-transition: all .1s ease-in-out;
	transition: all .1s ease-in-out;
}

#slick-login input[type="text"]:focus,#slick-login input[type="password"]:focus {
	-webkit-box-shadow: inset 0px 2px 0px #a7a7a7;
	box-shadow: inset 0px 2px 0px #a7a7a7;
}

#slick-login input:first-child {
	margin-top: 0px;
}

#slick-login input[type="submit"] {
	width: 100%;
	height: 50px;
	margin-top: 7px;
	color: #fff;
	font-size: 18px;
	font-weight: bold;
	text-shadow: 0px -1px 0px #5b6ddc;
	outline: none;
	border: 1px solid rgba(0, 0, 0, .49);

	-webkit-background-clip: padding-box;
	-moz-background-clip: padding-box;
	background-clip: padding-box;
	border-radius: 6px;

	background-color: #5466da;
	background-image: -webkit-linear-gradient(bottom, #5466da 0%, #768ee4 100%);
	background-image: -moz-linear-gradient(bottom, #5466da 0%, #768ee4 100%);
	background-image: -o-linear-gradient(bottom, #5466da 0%, #768ee4 100%);
	background-image: -ms-linear-gradient(bottom, #5466da 0%, #768ee4 100%);
	background-image: linear-gradient(bottom, #5466da 0%, #768ee4 100%);
	
	-webkit-box-shadow: inset 0px 1px 0px #9ab1ec;
	box-shadow: inset 0px 1px 0px #9ab1ec;
	
	cursor: pointer;

	-webkit-transition: all .1s ease-in-out;
	-moz-transition: all .1s ease-in-out;
	-o-transition: all .1s ease-in-out;
	-ms-transition: all .1s ease-in-out;
	transition: all .1s ease-in-out;
}

#slick-login input[type="submit"]:hover {
	background-color: #5f73e9;
	background-image: -webkit-linear-gradient(bottom, #5f73e9 0%, #859bef 100%);
	background-image: -moz-linear-gradient(bottom, #5f73e9 0%, #859bef 100%);
	background-image: -o-linear-gradient(bottom, #5f73e9 0%, #859bef 100%);
	background-image: -ms-linear-gradient(bottom, #5f73e9 0%, #859bef 100%);
	background-image: linear-gradient(bottom, #5f73e9 0%, #859bef 100%);

	-webkit-box-shadow: inset 0px 1px 0px #aab9f4;
	box-shadow: inset 0px 1px 0px #aab9f4;
	margin-top: 10px;
}

#slick-login input[type="submit"]:active {
	background-color: #7588e1;
	background-image: -webkit-linear-gradient(bottom, #7588e1 0%, #7184df 100%);
	background-image: -moz-linear-gradient(bottom, #7588e1 0%, #7184df 100%);
	background-image: -o-linear-gradient(bottom, #7588e1 0%, #7184df 100%);
	background-image: -ms-linear-gradient(bottom, #7588e1 0%, #7184df 100%);
	background-image: linear-gradient(bottom, #7588e1 0%, #7184df 100%);

	-webkit-box-shadow: inset 0px 1px 0px #93a9e9;
	box-shadow: inset 0px 1px 0px #93a9e9;
}


结论

这是最终结果的一瞥:

这种形式的妙处在于它很容易更改。 它也很容易扩展,添加更多输入,验证,功能等。感谢您的阅读,希望您能学到一些。 我很想听听您使用它的目的!

翻译自: https://webdesign.tutsplus.com/articles/smarten-up-a-slick-login-form-with-css3--webdesign-7497

表单登录css样式

使用 HTMLCSS 的玻璃态登录表单(含免费完整源码) 直接跳到末尾 获取完整源码 在本文中,我将带着大家展示如何使用 HTMLCSS 代码创建 玻璃态登录表单。你可以将任何简单的设计转换为玻璃态设计。为此,只需要更改一点代码。首先使用 background-color semi-transparent 比如 rgba (255,255,255,0.13)。其次,我们需要使用backdrop-filter: blur (10px)来模糊背景。最后需要使用边框来增强其美感。 ❤️使用 HTMLCSS 的玻璃态登录表单❤️???? 在线演示地址?? 阅读详情

相关推荐

HTML+CSS制作登录页面

HTML+CSS制作登录表单 点击这里预览效果 代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>html+css制作登录页面</title> <st

m0_46664046的博客 2422

2.登录模块—表单和粒子效果

加上scoped了就不行,因为这个时候的样式它是要唯一属性选择器,就我们这个用的别人的组件而且别人的组件内部那些标签是加不上我们外面这个属性的,那这该怎么办呢?那没有了这个唯一属性,我们所写的样式就影响不了这个标签了,这就造成了scoped不好用的一个原因了。我们把options里面的东西拿出来,因为太多了,在那里放这一堆太难看了,我们就弄一个单独的一个叫粒子配置文件,我们在src文件夹下创建一个util文件夹,里面放工具代码工具逻辑的工具文件夹,再在里面创建config.js。我们换自己的背景图片。

m0_65436732的博客 330

一个很好看的html 表单样式样式居中。适合做登录

【代码】一个很好看的html 表单样式样式居中。适合做登录

joywto的博客 781

10个jQuery CSS3表单教程

10个CSS3的jQuery 插件形式带来的生命和无数新的可能性,以做出更好的Web表单。 在这篇文章中,我们已经编制了最好的10 jQuery的CSS3教程和插件的列表,以使用这个新的和惊人的技术极大的形式。 相关文章: 30个的jQuery插件形式 1.注册表格用CSS3和jQuery 本教程将告诉您如何创建使用CSS3一个漂亮的形式,以及如何使之更人性化一些jQuery的。 资源...

165

web前端需要掌握的技术开发工具有哪些

在互联网科技发展越来越成熟的现在,web前端开发作为最热门的网站开发技术,吸引了很多小伙伴去了解它,通过web前端开发技术创建响应性、创新性、互动性以及令人惊叹的漂亮网站。也可以使用HTML5创建原来只能用于桌面平台上的复杂应用程序。本篇文章web前端培训小编就给想要学好web前端开发的小伙伴简单分享一下web前端开发课程入门需要掌握的10个技术。 1、对于初学者,你可以边看视频边练习。 2、 使用HTML5和CSS3 光滑登录表单使用CSS3HTML5创建漂亮的登录表单,不需要任何JavaScrip

weixin_52756445的博客 293

web前端入门需要掌握的10个技术!

  在互联网科技发展越来越成熟的现在,web前端开发作为最热门的网站开发技术,吸引了很多小伙伴去了解它,通过web前端开发技术创建响应性、创新性、互动性以及令人惊叹的漂亮网站。也可以使用HTML5创建原来只能用于桌面平台上的复杂应用程序。web前端开发入门需要掌握的10个技术。   1、对于初学者,找到适合自己学习的视频,你可以边看视频边练习。   2、 使用HTML5和CSS3 光滑登录表单使用CSS3HTML5创建漂亮的登录表单,不需要任何JavaScript代码。   3使用HTM

IT_studied的博客 759

入门web前端需要掌握的技术

好程序员web前端培训分享前端入门需掌握的技术,在互联网科技发展越来越成熟的现在,web前端开发作为最热门的网站开发技术,吸引了很多小伙伴去了解它,通过web前端开发技术创建响应性、创新性、互动性以及令人惊叹的漂亮网站。也可以使用HTML5创建原来只能用于桌面平台上的复杂应用程序。本篇文章web前端培训小编就给想要学好web前端开发的小伙伴简单分享一下web前端开发课程入门需要掌握的10个技术。   1、对于初学者,你可以边看视频边练习。   2、 使用HTML5和CSS3 光滑登录表单使用CSS3和H

qq_35970166的博客 261

python运维需要掌握的技术_web前端入门需要掌握的10个技术

  在互联网科技发展越来越成熟的现在,web前端开发作为最热门的网站开发技术,吸引了很多小伙伴去了解它,通过web前端开发技术创建响应性、创新性、互动性以及令人惊叹的漂亮网站。也可以使用HTML5创建原来只能用于桌面平台上的复杂应用程序。web前端开发入门需要掌握的10个技术。   1、对于初学者,找到适合自己学习的视频,你可以边看视频边练习。   2、 使用HTML5和CSS3 光滑登录表单...

weixin_39625782的博客 81

web导航栏代码_web前端入门需要掌握的10个技术

  在互联网科技发展越来越成熟的现在,web前端开发作为最热门的网站开发技术,吸引了很多小伙伴去了解它,通过web前端开发技术创建响应性、创新性、互动性以及令人惊叹的漂亮网站。也可以使用HTML5创建原来只能用于桌面平台上的复杂应用程序。web前端开发入门需要掌握的10个技术。   1、对于初学者,找到适合自己学习的视频,你可以边看视频边练习。   2、 使用HTML5和CSS3 光滑登录表单...

weixin_42119281的博客 671

13个绚丽的Jquery 界面设计

直接进入主题 1、 jQuery Impromptu – A Sleek, light-weight and simple way to add user-prompts 光滑、轻量级的用户提示框。 2、NiceForms – Easy Form Skinning for the masses 非常漂亮的表单元素皮肤,可以美化checkbox, select and input fie

821

推荐10个适合初学者的 HTML5 入门教程

  HTML5 作为下一代网站开发技术,无论你是一个 Web 开发人员或者想探索新的平台的游戏开发者,都值得去研究。借助尖端功能,技术和 API,HTML5 允许你创建响应性、创新性、互动性以及令人惊叹的漂亮网站。更进一步,你也可以使用 HTML5 创建原来只能用于桌面平台上的复杂应用程序。   这篇文章挑选了10个适合初学者的 HTML5 入门教程,带你踏上 HTML5 之旅。 您可能感兴趣...

weixin_30278237的博客 101

web前端入门需要掌握的10个技术

在互联网科技发展越来越成熟的现在,web前端开发作为最热门的网站开发技术,吸引了很多小伙伴去了解它,通过web前端开发技术创建响应性、创新性、互动性以及令人惊叹的漂亮网站。也可以使用HTML5创建原来只能用于桌面平台上的复杂应用程序。 1、对于初学者,找到适合自己学习的视频,你可以边看视频边练习。 2、 使用HTML5和CSS3 光滑登录表单使用CSS3HTML5创建漂亮的登录表单,不需要任何JavaScript代码。 3使用HTML5和CSS3创建一个下拉导航菜单,了解如何使用新的HTML5标签

qf2019的博客 385

web前端入门必知的10个技术

随着HTML5的发展和普及,了解HTML5将成为Web开发人员的必修课。如何把网页做得更美观,对用户更有吸引力,不仅是企业对前端开发人员要求,更是一个合格的web前端工程师的自我修行。今天小编就跟大家分享web前端入门必知的10个技术,希望能对大家有所帮助。  1、对于初学者,知海匠库http://www.zhihaijiangku.com是一个特别好的学习网站,海量的技术文章和视频,将会让大家对...

weixin_30505043的博客 117

第一周总结(2022.10.17~2022.10.22)

周总结

hezhihao_min的博客 468
上一篇: css 样式嵌套_使用CSS样式简单的嵌套注释
下一篇: 自测视网膜图_自适应的视网膜Google Map Images
daique1908
博客等级 码龄10年 29粉丝 0原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值