任务九:使用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 的 ...
随机推荐
- Spark & Python
技术文章 https://www.cnblogs.com/yangzhang-home/p/6056133.html 基于Python Spark的推荐系统 https://blog.csdn.net ...
- 4.nginx高可用
1.大体结构 一.使用场景介绍: nginx做负载均衡,来达到分发请求的目的,但是不能很好的避免单点故障,假如nginx服务器挂点了,那么所有的服务也会跟着瘫痪 .keepalived+nginx,就 ...
- cookie session token详解
cookie session token详解 转自:http://www.cnblogs.com/moyand/ 发展史 1.很久很久以前,Web 基本上就是文档的浏览而已, 既然是浏览,作为服务器, ...
- SVN知识点整理
Eclipse安装SubVersion插件 Help -> Install new software... -> add Name : Subversion Location : http ...
- 推荐-Everything搜索工具
简介: windows操作系统下极其强大的文件搜索工具. 下载: https://www.voidtools.com/downloads/ 推荐理由: 速度之快难以想象,日常工作必备工具之一. 发现的 ...
- Java基础28-继承
/* 继承的概述: 1.提高了代码复用性,简化了代码 2.让类与类之间产生了继承关系,才有了后面的多态特性的存在 注意:千万不要为了获取其他类的功能简化代码,而建立继承关系,必须要类与类之间存在继承关 ...
- 深入理解子元素的width与父元素的width关系
深入理解父元素与子元素的width关系 对于这一部分内容,如果理解准确,可以更容易控制布局,节省不必要的代码,这里将简单研究. 第一部分:父子元素都是内联元素 代码演示如下: <!DOCTYPE ...
- Spring Service、Dao进行Junit单元测试
pring对Controller.Service.Dao进行Junit单元测试总结 所有用Junit进行单元测试,都需要下面的配置 @RunWith(SpringJUnit4ClassRunner ...
- React.js 小书 Lesson24 - PropTypes 和组件参数验证
作者:胡子大哈 原文链接:http://huziketang.com/books/react/lesson24 转载请注明出处,保留原文链接和作者信息. 我们来了到了一个非常尴尬的章节,很多初学的朋友 ...
- https Java SSLException protocol_version的问题解决方法
我们的业务代码里有需要用爬虫爬取商品的图片地址,然后在转到我们的服务器里的过程,中间当然少不了下载图片的过程,最近目标网站有些改变,就是之前http前缀的图片地址部分改成了https,然后就造成了一个 ...