任务九:使用HTML/CSS实现一个复杂页面
任务目的
- 通过实现一个较为复杂的页面,加深对于HTML,CSS的实战能力
- 实践代码的复用、优化
任务描述
- 通过HTML及CSS实现设计稿 设计稿PSD文件(点击下载),效果如 效果图(点击打开)
- 整个页面内容宽度固定,但头部的蓝色导航和浏览器宽度保持一致
任务注意事项
- 只需要完成HTML,CSS代码编写,不需要写JavaScript
- tab只需要实现样式,有能力余力的同学可以尝试实现不使用JavaScript的情况下,实现Tab切换
- 所有的下拉菜单(Select)均要求按照设计稿样式实现,下拉后的样式自定义,不需要实现下拉选择的功能,但样式要实现
- 在Chrome中完美实现与设计稿的除了文字以外的各项图片、字体、颜色、布局、内外边距等样式
- 有能力的同学可以尝试跨浏览器的兼容性
- 有能力的同学可以在实现一遍后尝试用less, sass或者stylus等再实现一次
任务完成与总结:
一个人搞这个页面,肝有点不行,索性不切图了,计划直接把大概的页面写出来,然而写到第二天的时候完全失去耐心Zzzz,这次任务算是考验到我了。算了,还是分析其他人的代码吧,不过自己的代码还是要贴上,知道这次完成的十分不好,不管怎么说,毕竟是亲儿子(自己写出来的),就不嫌它丢人了。
https://cruxf.github.io/BaiduTask/test9.html
下面是一个做的比较好的团队作品:
http://zaiye.github.io/test1/
现在我来分析下一些自己觉得有技巧的效果实现方式:
1、搜索框与登录效果的实现

代码:

利用padding-left值空出来的位置,然后调整背景图x、y轴的坐标;登录效果的实现也是如此。
2、类似双重边框的实现

代码(父元素):

代码(子元素):

通过两个背景颜色不一的圆叠加,营造出双重边框的效果。
3、CSS3制作一个tab选项卡:

开发步骤一:将父元素设置为相对定位;
开发步骤二:将li元素设置为浮动;
开发步骤三:隐藏input以及承载表格的div;
开发步骤四:设置id为tab开头的、属性为checked的元素以及当下一个id以tab_menu开头的元素被点击时的样式,这个为核心代码:

开发步骤五:相关原理与开发步骤四类似:

4、ul元素的巧用:

中间三大块利用ul中li元素中嵌套div进行设置和布局,这实在是我一开始想不到的,比我的方法简洁了许多。果然脑子是个好东西。
5、元素的空内容应用:

头部使用li元素,中间使用浮动的p元素设置宽高,p元素内含两个子元素,其中空白的部分只是没有添加内容而已,只怪自己当初想的太复杂。
7、类进度条的制作:

还是老技巧,利用父元素与子元素的重叠。其实用HTML 新元素progress处理也是可以,只不过背景颜色处理上有些麻烦,以及它的兼容性问题。
任务九:使用HTML/CSS实现一个复杂页面的更多相关文章
- 12小时包你学会基于ReactMix框架的ReactNativeApp开发(二)基于Css+HTML写第一个app页面
上一篇文章,大家对于ReactMix(https://github.com/xueduany/react-mix)框架有了一个基本认识,知道我们是一个语法糖,帮助大家基于一套代码,所有平台都能跑.那么 ...
- 关于贴友的一个书本页面简单布局(html+css)的实现
贴友需求:以html+css仿照书本的页面实现布局效果(见图) html代码: 1: <!-- 我的博客:http://www.ido321.com --> DOCTYPE HTML> ...
- 小试ASP.NET MVC——一个邀请页面的实现
上篇博客我们大体介绍了ASP.NET MVC以及如何去新建项目,这篇博客我们讲点干货.小试ASP.NET MVC,我们来写一个简单的邀请WEB. 先来建立一个Models,叫GuestResponse ...
- 加载 CSS 时不影响页面渲染
转自:http://www.oschina.net/translate/loading-css-without-blocking-render 本文展示了一种技术,它能通过异步下载样式表,以阻止它们的 ...
- 用css实现一个空心圆,并始终放置在浏览器窗口左下角
用css实现一个空心圆,并始终放置在浏览器窗口左下角 div{ position:fixed; bottom:0; ...
- 一个Web页面的问题分析
几个月之前我接到一个新的开发任务,要在一个旧的Web页面上面增添一些新的功能.在开发的过程中发现旧的代码中有很多常见的不合适的写法,结合这些问题,如何写出更好的,更规范的,更可维护的代码,就是这篇文章 ...
- 教你判断一个APP页面是原生的还是H5页面 。(还没看)
来源:https://www.25xt.com/appdesign/11851.html 刚好是周末,无意之间学堂君在收集相关资料的时候,发现有部分童鞋在问<如何判断一个APP页面是不是H5页面 ...
- CSS里一个奇怪的属性
事情是这样的,在一个手机界面的制作中,我发现按钮点击后总会出现一个边框,于是开始搜索解决方案.搜到的解决方案是这样的. a:focus,input:focus{ -webkit-tap-highlig ...
- 手摸手教你编写你人生中第一个HTML页面
本文是<HTML5与CSS3基础语法自学教程>的第二篇,首发于[前端课湛]微信公众号. 导读:本小节主要讲解 HTML 的基础语法内容,将通过编写第一个 HTML 页面来学习 HTML 的 ...
随机推荐
- PIE SDK与OpenCV结合说明文档
1.功能简介 OpenCV是基于BSD许可(开源)发行的跨平台计算机视觉库,可以运行在Linux.Windows.Android和Mac OS操作系统上.它轻量级而且高效——由一系列 C 函数和少量 ...
- 小众软件:windows 系统下 exe 文件打包软件
1. Enigma Virtual Box 单文件打包软件 官网:EnigmaProtection 2. 安装包打包软件 官网:Inno Setup 参考文献: [1] 单文件制作工具Enigma V ...
- linux下普通用户添加 sudo 免密码
在使用普通用户登录的时候,会经常使用sudo指令执行一些操作,有时候感觉输入密码比较繁琐,特别是需要设置一些开机启动的时候操作,而这些操作往往就需要sudo指令,如果没有免密的话,在使用普通用户登录的 ...
- 关于锚点定位,ul设置fixed后,div被覆盖一部分的问题
例如: 问题: 刚开始的时候 .ul是正常显示的,当页面的滚动条滚动到一定的高度是 ,ul就被设置为 position:fixed:那么 点击 li相对应div就会被 固定定位的ul覆盖住一部分. 解 ...
- $bzoj1019-SHOI2008$ 汉诺塔 $dp$
题面描述 汉诺塔由三根柱子(分别用\(A\ B\ C\)表示)和\(n\)个大小互不相同的空心盘子组成.一开始\(n\)个盘子都摞在柱子\(A\)上,大的在下面,小的在上面,形成了一个塔状的锥形体. ...
- IE8 placeholder不支持的兼容性处理
引入 <script type="text/javascript" src="<%=path%>/common/js/jquery/jquery.min ...
- (转)Linux:使用libgen.h:basename,dirname
Linux:使用libgen.h:basename,dirname basename以及dirname是两个命令: [test1280@localhost ~]$ which basename /bi ...
- Oracle 中运用rollup和cube实现汇总运算
前言.看了很多的随笔博文内容都是关于rollup和cube的用法,发现一个问题,很多都是一样或者转载的,但这都不是重点,重点是,他们写的都太专业化了,直接给一个结论,并没有给出整个推理出这个结论的过程 ...
- 案例19-页面使用ajax显示类别菜单
1 版本一 版本只能在首页显示类别,当切换到了其它页面就不会显示 1 web层IndexServlet代码 package www.test.web.servlet; import java.io.I ...
- Mysql远程连接配置
Mysql远程连接配置 环境:unbuntu 16.04 最新版本的Mysql在远程连接的配置上与老版本有了一些出入,照原先的配置已经不行了,所以在这里记录一下遇到的所有新问题. 配置远程连接的步骤如 ...