JD m站自我解析理解
第一步:从首页着手
文档部分:应用的是H5默认文档开头 即:
head部分:放了一些相关的JS,title描述,然后就是meta表述了。比较有参考的如下
<meta name="author" content="m.jd.com">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0"> 禁止滚动,默认设备大小;
<meta http-equiv="Content-Type" content="text/html; charset=GBK"> 编码类型
<meta name="author" content="m.jd.com">
<meta name="apple-mobile-web-app-capable" content="yes"> 默认的工具栏
<meta name="apple-mobile-web-app-status-bar-style" content="black">
<meta name="format-detection" content="telephone=no">
<meta http-equiv="Expires" content="-1">
<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Pragma" content="no-cache">
什么缓存之类的了
body部分:就是放内容的地方了;
第二步:内容区按块自我分析
首先是基本的CSS设置,
第一:清除边距,设置最大宽度640px,最小宽度300px;居中显示。默认的字体,给元素加一个vertical-align:baseline;为所有的元素设模型为 box-sizing:border-box等等。
依次下来:第一个就是一个a标签,看类型应该就是一个top顶部了,不过具体也没有什么样式。用的还是一个ID,或许是给后台留了一个接口吧。
第二:客户端首单满多少送多少,一直显示在顶部的一个通栏。
外层宽的100%,子级为320px(行内样式,因此应该是用JS控制的,这个宽度应该是判断大于max-width:那么就等于这个max-width)
内部放的就是各种浮动,然后外加各种行内样式。
第三:viewport部分
max-width:640px; min-width:320px; margin: 0 auto; padding: 0 5px;
第一块就是搜索,不过N的地方就是,人家JD把位置移动下来了,但是为了抓取,人家放了一个占位在那。(然后用了一个定位)
定位后,内部放一个jd-header,然后也就没哟什么特别的了,比较推荐的借鉴就是input里面用的是margin-top不是我们习惯用的padding
第三:快速导航
宽度为25% 并且为相对定位。内部加一个::after伪类,来实现考右的小竖线。
第四:楼层2
上半部也定时器,也没有什么特别的布局,挺简单的span出来的。
下部分,秒杀,用的也就是百分比33.3%,然后加了一个左边框,margin-left:-1px; 反正所有的都是box-sizing:border-box;因此不用担心撑开之类的。
布局呢,考虑的也不用那么多,就是能正常显示的就不用管了,靠其它的来显示就可以。
第五:金秋风暴
比较有特色想法的是,标题部分。左边的小红竖条是一个::before来实现的,是一个width:3px; background:red;的背景色。
下面图片这块的部分,做的真的不错。竟然没有看出来用个什么方法,但经过测试发现,一定是在改变窗口尺寸的时候做了处理。用的也不是flex属性,也没有看到JS有什么改动。不过有理由相信它应该就是JS控制。左边的高度等于右边两张图高度总和。
第六:主题馆
这个用的方法非常好,背景图片就是一个图片,上面切换的图片是放在一个相对定位高度为1px的盒子里。
第七:猜你喜欢
这个地方也有一个地方用的很好,就是他没有用table但是他把元素用了display:table; display:table-cell;的形式,模拟了table。
然后也就没有什么了,首页就这样的过去了。好多不懂的,看是也懂了好多。看别人写的东西,一点好处就是,学到对方很多的思维与方法。好的去学,不好的去发现去避免。
JD m站自我解析理解的更多相关文章
- 图形解析理解 css3 之倾斜属性skew()
1.作用 改变元素在页面中的形状2.语法 属性:transform 函数: 1.skew(xdeg) 向横向倾斜指定度数 x取值为正,X轴不动,y轴逆时针倾斜一定角度 x取值为负,X轴不动,y轴顺时针 ...
- 函数(定义、参数、return、变量、作用域、预解析)
一.函数定义 1.方式一 function 函数名(参数){ 函数体 }——————函数声明的方法 function fn(a){ console.log(a); }: 2.方式二 ...
- 悟透JavaScript(理解JS面向对象的好文章)
引子 编程世界里只存在两种基本元素,一个是数据,一个是代码.编程世界就是在数据和代码千丝万缕的纠缠中呈现出无限的生机和活力. 数据天生就是文静的,总想保持自己固有的本色:而代码却天生活泼,总想改变这个 ...
- http协议请求规则与dotNet的解析
请求方法URI协议/版本 请求的第一行是"方法URL议/版本":GET/sample.jsp HTTP/1.1 以上代码中"GET"代表请求方法,"/ ...
- PULL解析学习
学习过程 安卓中有三种对XML解析的方式,这个众所周知,DOM,SAX,PULL 其中被推荐的方法是PULL,说是非常简单,但从一开始接触就觉得比较迷惑,总是云里雾里的感觉,甚至在自己写出了一个能 ...
- 深入理解MAGENTO – 第九章 – 数据集合瓦瑞恩
本来,作为一个PHP程序员,如果你想攒一组变量的相关你有一个选择,古老的 阵列 . 尽管共享一个地址的名称与C存储器的阵列,一个PHP数组是一种通用的字典可变数组索引像数值对象结合行为的影响. 在其他 ...
- 【自编教材】16万8千字的HTML+CSS基础 适合从0到1-可收藏
[图片链接有点小问题,这几天更新,敬请期待!] 目 录 第一章HTML基础 1.1 HTML简介和发展史 1.1.1 什么是HTML 1.1.2 HTML的发展历程 1.1.3 web标准 1.2 开 ...
- .NET C#操作文件系统数据的常用方法总结 part1
目录导航 1.0开启文件隐藏属性 1.1开启文件夹只读属性 1.2输出子文件夹路径 1.3统计文件数目 1.4批量重命名文件 1.5分割文件 1.6拼接文件 1.7读取用逗号分割的值 1.8读写压缩数 ...
- tornado框架&三层架构&MVC&MTV&模板语言&cookie&session
web框架的本质其实就是socket服务端再加上业务逻辑处理, 比如像是Tornado这样的框架. 有一些框架则只包含业务逻辑处理, 例如Django, bottle, flask这些框架, 它们的使 ...
随机推荐
- H5游戏接微信小游戏的支付,满满的都是坑!
h5小游戏接微信的支付,简直是在为难我胖虎,说多了都是泪. 准备工作: 准备工作一定要做好,不然很容易出错.首先是session_key这个字段,这个session_key是登录的时候需要用到的,根据 ...
- leetcode-递增的三元子序列
给定一个未排序的数组,判断这个数组中是否存在长度为 3 的递增子序列. 数学表达式如下: 如果存在这样的 i, j, k, 且满足 0 ≤ i < j < k ≤ n-1,使得 arr[ ...
- 290. Word Pattern【LeetCode by java】
今天发现LintCode页面刷新不出来了,所以就转战LeetCode.还是像以前一样,做题顺序:难度从低到高,每天至少一题. Given a pattern and a string str, fin ...
- 第五次Scrum meeting
第五次Scrum meeting 会议内容: 连接方面:确定封装成json的文本格式,尽量在满足在线组和手机客户端两组的情况下,降低自身的难度 测试方面:进行新一轮测试,主要测试程序的稳定性和可靠性, ...
- 第二阶段Sprint8
昨天:把视频录制整合到时间提醒里,实现视频提醒 今天:重新规划主界面,把视频录制暂放到主页面里,先实现功能,视频提醒后期再做. 遇到的问题:还是有问题,虽然能运行,但是只能播放,不能录了啊...
- jQuery笔记(二)
$()下的常用方法 addClass():添加样式 removeClass():删除样式 $('div').addClass('box2 box4'); $('div').removeClass('b ...
- ehlib使用内存表的方法
ehlib提供了一个TMemTableEh控件,这个控件不需要连接数据库就可以在ehlib中显示数据,在做一些虚的表格时比较有用. 简单的使用主要有这几个步骤: 1.添加量过控件Tdatasource ...
- a标签属性 rel=noopener noreferrer
当你浏览一个页面点击一个a标签链接跳转到另一个页面时, <a href="http://www.baidu.com" target="_blank"> ...
- XP局域网访问无权限、不能互相访问问题的完整解决方案
XP局域网访问无权限问题的完整解决方案: 1:用管理员账户登录系统 2:在“开始”-- “运行”里输入 GPEDIT.MSC 目的是打开组策略选项 3:依次展开”WINDOWS设置”-”本地策略”-” ...
- FMDB基本操作
1.以前使用数据库,因为一般就建立一张表,所以都是自己写代码创建,没用过fmdb,这次因为项目中涉及聊天模块,需要多张表格和数据库保存聊天记录 按照以前方法不好操作,就研究了下fmdb,发现确实挺方便 ...