最近忙着俱乐部招新的事情,每一次培训都会给学员布置作业,但是作业积累在手上并没有长久的保存价值,于是萌生了一个创建俱乐部网站平台的想法。为了充当好PM这个角色,学习了Axure软件的用法,并且首次制作页面的交互原型。也算是体验了一回ID角色。

我们的平台应该是一个展示型的网站,将来功能可以类似花瓣网,蘑菇街的首页瀑布流展示学员的作品。

前不久刚刚温习了web语义化的知识,今天看到了花瓣网的顶部header条,根据最近所学提出一点改进:

1.根据web语义化知识,行内元素是不建议嵌套块级元素的:

我们来看一下花瓣网的源代码(关于header里面的menu布局):

我的建议是:一般针对小三角,小图标签,常常用<i></i> ;<b></b>;<s></s>这3个标签:

HTML结构如下:

 <divclass="header"><divclass="wrapper"><divclass="btn-menu header-icon">//***************************1.左边的菜单<i></i>//定义菜单符号<b></b>//定义下拉三角符号<divclass="main-menu"></div></div><divclass="btn-add header-icon">//*****************************2.右边的添加(加号):add<i></i><divclass="add-menu"></div></div><divclass="btn-message header-icon">//*************************3.右边的消息(信封符号):message<i></i><divclass="message-menu"></div></div><divclass="btn-notice header-icon">//*************************4.右边的通知(铃铛符号):notice<i></i><divclass="notice-menu"></div></div></div></div>

2.针对header左右元素分布,采用绝对定位布局;

由于各个元素高度和宽度相等,唯一的差别是里面的图标不同:比如有的是menu,有的是message,有的是“+”,有的是“铃铛”;

如果能够抓住这些共同特点,全部进行绝对定位:唯一不同的是postion下面的right值,或者left值不同而已。

下面是用less 所写:支持嵌套

.header-icon{position:absolute;width:42px;height:42px;border-left:1px solid #F5F5F5;top:0;&:hover {                             //**********************1.共性一:左右4个子元素btn(除去个人头像),鼠标划过时候背景变色相同background: #F7F7F7;i {color:#212121;}}i{                               //***********************2.共性二:左右4个元素btn(这里使用了阿里巴巴icon  font库自定义字体),字体,字号,以及相                                                                                 对父级元素的绝对定位:left和top值是相同的font-size:21px;color:#999999;position:absolute;left:10px;top:9px;}b{                           //**************************3.共性三:第一个元素和最后一个元素的右下角,都有下拉三角符号color:#CCCCCC;position:absolute;font-size:6px;right:3px;bottom:3px;}&.btn-menu{                             //************************不同点:1.需要格外定义btn-menu的position left值border-right:1px solid #F5F5F5;width:55px;left:0;i {left:17px;}}&.btn-add{                      //*****************2.每一个子元素btn的宽度是42px,在前面写好的共性基础上,轻松找到btn-add的position right值right:130px;&:hover {i {color: #C80D00;}}i{color:#000000;}}&.btn-message{                     //******************************轻松另外定义找到btn-message的position  right值right:87px;}&.btn-notice{                     //*********************************轻松另外定义btn-notice的position right值right:44px;}

其实除了绝对定位外,还有一种方法是:ul >li 搭配浮动

例如京东商城的header条,顶部有“我的收藏”,“我的购物车”,,,,布局思想是:左右浮动,在每一边内部布局使用ul>li

3.header中间的logo图标居中方法:

方法一):也就是花瓣网的方法:使用负margin值,结合positon下的left:50%和top:50%

其实这个方法,我在前面介绍《前端知识入门体系》一文也提到:

这样我们的元素就通过绝对定位的方法居中了。

方法二):可以把logo图片作为背景,background-positon居中

background: url("../img/logo.jpg") scroll center center no-repeat;

4.第一次尝试下载使用icon font字体库

Icon font 就是将一套图标集以字体文件的形式封装,并通过 CSS 3 的 @font-face 作为 Web Font 调用。通常一套 icon font 的数目不多,所以字体文件的体积亦会较小。同时因 icon font 中的图标为矢量,所以应对缩放也更为便利。并且 @font-face 属性甚至被 IE 6 支持,所以在尚需要考虑 IE 6 兼容性的时候,用于显示透明背景的单色图标,便不需要采取针对 .png 的 hack.

载成功后,在demo文件里会有提示:

在css文件中使用,需要先声明:

@font-face{font-family:'iconfont';src:url('../font/iconfont.eot'),/*IE9*/url('../font/iconfont.eot?#iefix') format('embedded-opentype'),/*IE6-IE8*/url('../font/iconfont.woff') format('woff'),/*chrome、firefox*/url('../font/iconfont.ttf') format('truetype'),/*chrome、firefox、opera、Safari, Android, iOS 4.2+*/url('../font/iconfont.svg#uxiconfont') format('svg'); /*iOS 4.1-*/
}.iconfont{font-family:"iconfont" !important;font-size:16px;font-style:normal;font-weight:normal;-webkit-font-smoothing:antialiased;-webkit-text-stroke-width:0.2px;-moz-osx-font-smoothing:grayscale;
}

那么这样我们最后的实际HTML结构是这样的:

<div class="header"><div class="wrapper"><div class="btn-menu header-icon"><i class="iconfont">&#xe648;</i> //***********************和前面的差别是使用icon font编号代替图片<b class="iconfont">&#xe65d;</b><div class="main-menu"></div></div><div class="btn-add header-icon"><i class="iconfont">&#xe635;</i><div class="add-menu"></div></div><div class="btn-message header-icon"><i class="iconfont">&#xe643;</i></div><div class="btn-notice header-icon"><i class="iconfont">&#xe651;</i><div class="notice-menu"></div></div><div class="btn-user header-icon"><img src="/src/kingsoft/img/user.jpg" width="23" height="23" /><b class="iconfont">&#xe65d;</b><div class="user-menu"></div></div></div></div>

总结:通过这次的首页面,虽然忙活了几天,但是还是很快乐的。

从知识积累方面来讲:

1.告诫自己要多多思考,理解web语义化,树立良好的代码规范意识。

2.对使用绝对定位方法进行行内元素布局有了深刻的理解;

3..熟悉了less css的嵌套,混合等语法结构

4.第一次尝试使用ICON font,使用特殊的 "字体图标" 替代了常用的PNG图片,O(∩_∩)O

因为这是希望金山俱乐部走向规范的一次有意义的尝试,也希望通过建立这个平台,鼓励俱乐部同学多多创造自己的作品,学会分享,学会展示。第一次充当PM,ID的角色还是很有挑战性的;当然更重要的角色还是FE啦,前端路漫漫,要学的真的还有很多。希望:每天都要保持100%的热情和1.01的状态,加油,加油,go go go!!!

转载于:https://www.cnblogs.com/QingFlye/p/4034515.html

关于花瓣网header条的思考相关推荐

  1. 仿花瓣网html模板,仿花瓣网的自动悬浮导航效果 jquery

    仿花瓣网的自动悬浮导航效果 body, h1, ul { margin:0; } ul li { list-style-type:none; } #header { width:100%; borde ...

  2. html5导航栏悬浮置顶,jQuery+CSS3实现仿花瓣网固定顶部位置带悬浮效果的导航菜单...

    本文实例讲述了jQuery+CSS3实现仿花瓣网固定顶部位置带悬浮效果的导航菜单.分享给大家供大家参考,具体如下: /p> "http://www.w3.org/TR/xhtml1/D ...

  3. java的简单网络爬虫(爬取花瓣网的图片)

    因为本人对爬虫比较感兴趣,加上之前也写过一些简单的python爬虫,所以在学完java基础后写了一个简单的网络图片爬虫.废话不多说直接上过程代码.(爬取的图源来自花瓣网:https://huaban. ...

  4. 花瓣网李忠:ReactiveCocoa是Cocoa的未来

    ReactiveCocoa(其简称为RAC)是由Github工程师们开发的一个应用于iOS和OS X开发的函数响应式编程新框架.ReactiveCocoa为开发者带来了函数式编程和响应式编程的思想,被 ...

  5. 关于“大数据”的15条干货思考

    文章讲的是关于"大数据"的15条干货思考,1.马云创造了"DT"(大数据时代)这个词,说未来社会不是IT时代,而是DT时代,而阿里巴巴战略定位为做DT时代的基础 ...

  6. python花瓣飘零_Python爬虫练习之花瓣网

    花瓣网是个瀑布式布局,而且下拉的时候发现要登录帐号.本来以为要用requests.post模拟登录,能够顺手练习一下的,结果不登陆帐号也照样可以爬取.一开始是打算用selenium的,后来运行的过程中 ...

  7. Python 爬虫: 抓取花瓣网图片

    接触Python也好长时间了,一直没什么机会使用,没有机会那就自己创造机会!呐,就先从爬虫开始吧,抓点美女图片下来. 废话不多说了,讲讲我是怎么做的. 1. 分析网站 想要下载图片,只要知道图片的地址 ...

  8. html瀑布流视频列表,StaggeredGridLayoutManager实现瀑布流视频列表和头部广告位以及分栏Header条...

    1. RecyclerView下StaggeredGridLayoutManager基本使用 recyclerView的简单使用在此不多口舌,先初始化StaggeredGridLayoutManage ...

  9. 浙江网信办处置44家违规网站 包含网易游戏、花瓣网等

    [TechWeb]3月27日消息,据"扫黄打非"官微发布的消息,今年以来,浙江省网信办集中处置44家违法违规网站,其中,约谈存在不良信息的"网易游戏"" ...

  10. 花瓣网方砖布局 图片内容无限加载 用户体验才是王道

    jquery特效制作目前用户体验设计比较受欢迎的pinterest和花瓣网的图片内容无限加载,方砖式的布局方式.用jquery Masonry插件制作当鼠标拖动滚动条时图片和内容数据无限滚动加载,直到 ...

最新文章

  1. 大象转身,地表最强投行高盛开启转型之路
  2. Oracle 海量数据处理- 索引的选择
  3. centos7安装mysql6_2018年第四周-在centos7安装mysql6
  4. Bash Cookbook 学习笔记 【中级】
  5. .NET Core开发实战(第18课:日志框架:聊聊记日志的最佳姿势)--学习笔记(上)...
  6. 如何在Eclipse 3.3上安装jadclipse[java的反编译工具] 收藏
  7. Linux 命令(106)—— chkconfig 命令
  8. 图像变换--灰度切割、位图切割
  9. tcl 查询与设置编码格式
  10. FastDFS分布式文件系统集群
  11. 省市区三级联动 mysql_省市区三级联动实现
  12. android手机 办公软件,寻最佳手机Office助手 八大安卓办公软件横评
  13. 转行做程序员,培训or自学?过来人亲身经历良心分享
  14. Portal for ArcGIS是什么东东
  15. 源码分析 | 像盗墓一样分析Spring是怎么初始化xml并注册bean的
  16. 1_数据分析应掌握的Python基础
  17. 利用photoshop去掉图片中文字
  18. Linux之mount以rw,remount重新挂载ext4文件系统(二十八)
  19. Android项目开发教程之OpenGL ES
  20. 成年人的100个心酸瞬间:那些看似光鲜亮丽职业的背后......

热门文章

  1. 端午节谋定顺应自然-农业大健康·万祥军:根植古代农耕文化
  2. php不使用框架,导出Excel,这里有代码,全解
  3. Python使用-错误“name ‘requests‘ is not defined”的探查
  4. 每股收益具体怎么来的
  5. 我爱淘冲刺阶段站立会议2每天任务6
  6. SeleniumWebdriver参数化详解
  7. 第三部分 数据结构 -- 第四章 图论算法1374:铲雪车(snow)
  8. 铲雪车 骑马修栅栏 (欧拉路径和欧拉回路)
  9. 宇宙机器人超级计算机,宇宙机器人无线控制器使用指南白金攻略
  10. matlab accuracy 存,matlab 绘制caffe accuracy与loss曲线