前端小白系列(1)——背景

搭建好工程后,对于还没什么工作经验的博主决定先YY一下。

企业来说的话,前端手上应该会有设计图,之后便是了解清楚需求,再剖析整个项目的逻辑,整理出一个流程出来,理清好思路才能写得痛快。

好,YY结束。博主因为页面也没什么复杂的就直接省略以上步骤啦。


前面说到不能让页面那么“红果果”,于是博主第一件事便是去找图,而且一些组件功能如轮播图,可能也用得上,至于大家想贴什么图就随意了,只要不是那些会被河蟹的就好了。

基于导言中的页面效果,先得到下面这么个“基础设施”是必须的吧?

bg

先上HTML代码吧。

<link rel="stylesheet" type="text/less" href="../css/style.less">
<!-- <script src="//cdnjs.cloudflare.com/ajax/libs/less.js/2.5.3/less.min.js"></script> -->
<!-- 引入LESS编译文件 -->
<script type="text/javascript" src="../../component/less.min.js"></script>
</head>
<body>
	<div id="wrap">
		<nav class="navbar">
			<ul>
				<li><a href="javascript:;" class="demo1">分页</a></li>
				<li><a href="javascript:;" class="demo2">轮播图</a></li>
				<li><a href="javascript:;" class="demo3">弹窗</a></li>
				<li><a href="javascript:;" class="demo4">表单验证</a></li>
			</ul>
		</nav>
	</div>

	<script type="text/javascript" src="../../component/jquery-3.0.0.js"></script>
	<!-- JS文件 -->
	<script type="text/javascript" src="../js/index.js"></script>
此处有个坑就是上一篇提到的gulpfile.js里的server任务,因为设置了root值,导致获取不到component文件下的less.min.js,所以出不来样式,删掉root后便解决了。当然,你也可以引入CDN来解决。

注意HTML标签的语义化。


然后是LESS的样式编写。

LESS的语法很方便,把常用的一些值定义成一个变量可以方便调用。一些未来可能需要更改的值建议也保存为一个变量,如页面的背景、字体等。

/* ------------------背景样式----------------- */
@bg-pic : '../images/bg.jpg'; //背景图片
@font-style : "Microsoft YaHei"; //页面字体

/* ------------------ 颜 色 -------------------*/
@red : red;
@orange : orange;
@yellow : yellow;
@green : green;
@aqua : aqua;
@blue : blue;
@purple : purple; //七彩
@gray : gray;
对背景的处理,这样即使拖动滚动条或者伸缩窗口,背景都能保持不错的显示。

body{
	background: url(@bg-pic) center center no-repeat fixed; //背景图片居中不重复并保持固定
	background-size: cover; //覆盖背景
}
内容显示区域居中,两侧留白。

#wrap{
	height: 100%;
	position: absolute;
	margin: 0 10%; //两侧留白
	top: 0;left: 0;right: 0;bottom: 0; //居中
}
然后就是对li的处理了。利用LESS方便的语法,博主决定让方块在鼠标悬停时使其浮起来。

.navbar{
	margin: 40px 100px;
	li{
		display: inline-block;
		min-width: 100px;
		height: 50px;
		line-height: 50px;
		margin-right: 10px;
		border: 1px solid lighten(@gray,20%);
		border-radius: 10px;
		cursor: pointer;
		text-align: center;
		font-size: 18px;
		-webkit-transition: 0.4s;
		transition: 0.4s;
		box-shadow: 3px 3px 5px darken(@gray,10%);
		&:nth-child(1){
			background-color: lighten(@red,10%);
		}
		&:nth-child(2){
			background-color: lighten(@orange,10%);
		}
		&:nth-child(3){
			background-color: lighten(@yellow,10%);
		}
		&:nth-child(4){
			background-color: lighten(@green,10%);
		}
		&:hover{
			box-shadow: 7px 7px 8px darken(@gray,20%);
			a{
				color: white;
			}
		}
	a{
		color: black;
	}
}
}
对比下上面的背景图就可以脑补效果啦。

很简单的效果,基本没遇到坑。

当然,要注意的还有几点:

1.浏览器前缀的补写。博主准备交给sublime的autofix插件了。大家也可以考虑使用prefixfree.js这个库。

2.兼容性代码。博主补两个链接:

http://www.jb51.net/css/469020.html

caniuse.com

3.移动端适配。如果是按照设计稿来做移动端的话,CSS中最好是使用rem作为数值单位。适配方案可参考网易或者淘宝移动端前端团队的开发思路。


接下来应该会直接开始写组件了,希望能严谨地写好JS吧。





  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值