京东首页移动端-web实战

设置视口标签以及引入初始化样式

    <link rel="stylesheet" href="./css/normalize.css"><link rel="stylesheet" href="./css/index.css">

body常用初始化样式

body {width: 100%;min-width: 320px;max-width: 640px;margin: 0 auto;background: #fff;font-size: 14px;font-family: -apple-system, Helvetica, sans-serif;line-height: 1.5;color: #666;
}

头部制作

  • 移动端宽度一般用百分比
  • 插入图片时记得设置图片的宽高
  • 图片默认与文字的基线对齐,所以设置垂直居中时,要给图片加上vertical-align:middle
ul {margin: 0;padding: 0;
}
ul li {list-style: none;
}
.app {height: 45px;
}.app ul li {float: left;height: 45px;line-height: 45px;text-align: center;background-color: #333;color:#fff;
}
.app ul li:nth-child(1){width: 8%;
}
.app ul li:nth-child(1) img {width: 10px;vertical-align: middle;
}
.app ul li:nth-child(2){width: 10%;
}
.app ul li:nth-child(2) img {width: 30px;/* 图片与文字的基线默认对齐 */vertical-align: middle;}
.app ul li:nth-child(3){width:  57%;
}
.app ul li:nth-child(4){width: 25%;background-color: #f63515;
}
    <header class="app"><ul><li><img src="./images/close.png" alt=""></li><li><img src="./images/logo.png" alt=""></li><li>打开京东App,购物更轻松</li><li>立即打开</li></ul></header>

 

 搜索框

  • 搜索框主体部分会随着页面宽度的变化而变化,左右两边的盒子宽度不变,故只需将左右两边盒子定位定宽定高,中间主体部分宽度百分百,之后再设置左右margin即可。
  • 京东后面的竖线可设置伪元素,记得转换伪元素为块级元素
  • 二倍精灵图要先将原图等比例缩放至原来的一半,之后根据改变之后的图片测量坐标,同时background-size变为原来精灵图宽度的一半,高度auto
  • 图片在搜索区域下方显示,将搜索区域设置为固定定位,一定要设置宽度,宽度100%

    <div class="search-wrap"><div class="search-btn"></div><div class="search"><div class="jd-icon"></div><div class="sou"></div></div><div class="search-login">登录</div></div><!-- 主体内容部分 --><div class="main-content"><!-- 滑动图 --><div class="slider"><img src="./upload/banner.dpg" alt=""></div></div>
/* 搜索 */
.search-wrap {width: 100%;position: fixed;height: 44px;/* 解决外边距合并问题 */overflow: hidden;max-width: 640px;min-width: 320px;
}.search-btn {position: absolute;top: 0;left: 0;width: 40px;height: 44px;
}
.search-btn::before{content: "";/* 伪元素为行内元素 */display: block;width: 20px;height: 18px;background: url(../images/s-btn.png) no-repeat;background-size: 20px 18px;margin: 14px 0 0 15px;
}.search-login {position: absolute;top: 0;right: 0;width: 40px;height: 44px;color:#fff;text-align: center;line-height: 44px;
}.search {position: relative;height: 30px;margin: 7px 50px;border-radius: 15px;background-color: #fff;
}
.jd-icon {width: 20px;height: 15px;position: absolute;top: 8px;left: 13px;background: url(../images/jd.png) no-repeat;background-size: 20px 15px;
}
.jd-icon::after {content: "";position: absolute;right: -8px;display: block;width: 1px;height: 15px;background-color: #f63515;
}
.sou {position: absolute;top: 8px;left: 50px;width: 18px;height: 15px;/*二倍精灵图*/background: url(../images/jd-sprites.png) no-repeat -81px 0;background-size: 200px auto;
}
.slider img {width: 100%;
}

品牌日

  • 由三张图片组成,每个图片均为一个链接
  • div里的每张图片宽度均为三分之一,即33.33%
  • 给brand加圆角边框时,记得要溢出隐藏,因为图片并未设置圆角边框
  • 上面图片底部有缝隙,去除图片底部缝隙只需给图片加上vertical-align:top;
  • 每个div浮动即可

        <div class="brand"><div><a href=""><img src="./upload/pic11.dpg" alt=""></a></div><div><a href=""><img src="./upload/pic22.dpg" alt=""></a></div><div><a href=""><img src="./upload/pic33.dpg" alt=""></a></div></div>
.brand {border-radius: 10px 10px 0 0;overflow: hidden;
}
.brand div {float:left;width: 33.33%;
}
.brand div img {width: 100%;
}

图片格式

  • DPG图片压缩技术

京东自主研发推出DPG图片压缩技术,经测试该技术,可直接节省用户近50%的浏览流量,极大的提升了用户的网页打开速度。能够兼容jpeg,实现全平台、全部浏览器的兼容支持,经过内部和外部上万张图片的人眼浏览测试后发现,压缩后的图片和webp的清晰度对比没有差距。

  • webp图片格式

谷歌开发的一种旨在加快图片加载速度的图片格式。图片压缩体积大约只有JPEG的2/3,并能节省大量的服务器宽带资源和数据空间
 

 导航栏

  • nav里10个a,a里有图片和文字
  • 将a浮动起来,且每个a宽度占20%,设置a里的内容水平居中即可
  • 适当设置nav与其他元素的距离

        <nav><a href=""><img src="./upload/nav1.webp" alt=""><span>京东超市</span></a><a href=""><img src="./upload/nav1.webp" alt=""><span>京东超市</span></a><a href=""><img src="./upload/nav1.webp" alt=""><span>京东超市</span></a><a href=""><img src="./upload/nav1.webp" alt=""><span>京东超市</span></a><a href=""><img src="./upload/nav1.webp" alt=""><span>京东超市</span></a><a href=""><img src="./upload/nav1.webp" alt=""><span>京东超市</span></a><a href=""><img src="./upload/nav1.webp" alt=""><span>京东超市</span></a><a href=""><img src="./upload/nav1.webp" alt=""><span>京东超市</span></a><a href=""><img src="./upload/nav1.webp" alt=""><span>京东超市</span></a><a href=""><img src="./upload/nav1.webp" alt=""><span>京东超市</span></a></nav>
nav {padding-top: 5px;
}
nav a {float: left;width: 20%;text-align: center;
}nav a img {width: 40px;margin: 10px 0;
}
nav a span {display: block;
}

 新闻模块

  • 三张图片,均浮动,a里面包括一张图片
  • 给每个a设置宽度,里面的图片百分百即可
  • 因为后两张图片有边框,为了不影响布局,应该让a元素变成CSS3模型(box-sizing:border-box)这样最后一张图片就不会挤下去

        <div class="news clearfix"><a href=""><img src="./upload/new1.dpg" alt=""></a><a href=""><img src="./upload/new2.dpg" alt=""></a><a href=""><img src="./upload/new3.dpg" alt=""></a></div>

 

.news {margin-top: 20px;
}
.news a:nth-child(1) {width: 50%;
}
.news a {float: left;box-sizing: border-box;
}
.news a:nth-child(n+2) {width: 25%;border-left: 1px solid #ccc;
}
.news a img {width: 100%;
}

整体代码:

 

body {width: 100%;min-width: 320px;max-width: 640px;margin: 0 auto;font-size: 14px;font-family: -apple-system, Helvetica, sans-serif;/* 当前文字的1.5倍 */line-height: 1.5;color: #666;
}.clearfix::after {content: "";display: block;clear: both;
}a {color: #666;text-decoration: none;
}ul {margin: 0;padding: 0;
}img {/* 去除图片底部的缝隙 */vertical-align: top;
}ul li {list-style: none;
}.app {height: 45px;
}.app ul li {float: left;height: 45px;line-height: 45px;text-align: center;background-color: #333;color: #fff
}.app ul li:nth-child(1) {width: 8%;
}.app ul li:nth-child(1) img {width: 10px;vertical-align: middle;
}.app ul li:nth-child(2) {width: 10%;
}.app ul li:nth-child(2) img {width: 30px;/* 图片与文字的基线默认对齐 */vertical-align: middle;}.app ul li:nth-child(3) {width: 57%;
}.app ul li:nth-child(4) {width: 25%;background-color: #f63515;
}/* 搜索 */
.search-wrap {width: 100%;position: fixed;height: 44px;/* 解决外边距合并问题 */overflow: hidden;max-width: 640px;min-width: 320px;
}.search-btn {position: absolute;top: 0;left: 0;width: 40px;height: 44px;
}.search-btn::before {content: "";/* 伪元素为行内元素 */display: block;width: 20px;height: 18px;background: url(../images/s-btn.png) no-repeat;background-size: 20px 18px;margin: 14px 0 0 15px;
}.search-login {position: absolute;top: 0;right: 0;width: 40px;height: 44px;color: #fff;text-align: center;line-height: 44px;
}.search {position: relative;height: 30px;margin: 7px 50px;border-radius: 15px;background-color: #fff;
}.jd-icon {width: 20px;height: 15px;position: absolute;top: 8px;left: 13px;background: url(../images/jd.png) no-repeat;background-size: 20px 15px;
}.jd-icon::after {content: "";position: absolute;right: -8px;display: block;width: 1px;height: 15px;background-color: #f63515;
}.sou {position: absolute;top: 8px;left: 50px;width: 18px;height: 15px;background: url(../images/jd-sprites.png) no-repeat -81px 0;background-size: 200px auto;
}.slider img {width: 100%;
}.brand {border-radius: 10px 10px 0 0;overflow: hidden;
}.brand div {float: left;width: 33.33%;
}.brand div img {width: 100%;
}nav {padding-top: 5px;
}nav a {float: left;width: 20%;text-align: center;
}nav a img {width: 40px;margin: 10px 0;
}nav a span {display: block;
}/* news */
.news {margin-top: 20px;
}.news a:nth-child(1) {width: 50%;
}.news a {float: left;box-sizing: border-box;
}.news a:nth-child(n+2) {width: 25%;border-left: 1px solid #ccc;
}.news a img {width: 100%;
}
<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta name="viewport"content="width=device-width, initial-scale=1.0, user-scalable=no,maximum-scale=1.0, minimum-scale=1.0"><title>Document</title><!-- 引入初始化样式 --><link rel="stylesheet" href="./css/normalize.css"><link rel="stylesheet" href="./css/index.css">
</head><body><!-- 顶部 --><header class="app"><ul><li><img src="./images/close.png" alt=""></li><li><img src="./images/logo.png" alt=""></li><li>打开京东App,购物更轻松</li><li>立即打开</li></ul></header><!-- 搜索 --><div class="search-wrap"><div class="search-btn"></div><div class="search"><div class="jd-icon"></div><div class="sou"></div></div><div class="search-login">登录</div></div><!-- 主体内容部分 --><div class="main-content"><!-- 滑动图 --><div class="slider"><img src="./upload/banner.dpg" alt=""></div><!-- 品牌日 --><div class="brand"><div><a href=""><img src="./upload/pic11.dpg" alt=""></a></div><div><a href=""><img src="./upload/pic22.dpg" alt=""></a></div><div><a href=""><img src="./upload/pic33.dpg" alt=""></a></div></div><!-- nav部分 --><nav class="clearfix"><a href=""><img src="./upload/nav1.webp" alt=""><span>京东超市</span></a><a href=""><img src="./upload/nav1.webp" alt=""><span>京东超市</span></a><a href=""><img src="./upload/nav1.webp" alt=""><span>京东超市</span></a><a href=""><img src="./upload/nav1.webp" alt=""><span>京东超市</span></a><a href=""><img src="./upload/nav1.webp" alt=""><span>京东超市</span></a><a href=""><img src="./upload/nav1.webp" alt=""><span>京东超市</span></a><a href=""><img src="./upload/nav1.webp" alt=""><span>京东超市</span></a><a href=""><img src="./upload/nav1.webp" alt=""><span>京东超市</span></a><a href=""><img src="./upload/nav1.webp" alt=""><span>京东超市</span></a><a href=""><img src="./upload/nav1.webp" alt=""><span>京东超市</span></a></nav><!-- 新闻模块 --><div class="news clearfix"><a href=""><img src="./upload/new1.dpg" alt=""></a><a href=""><img src="./upload/new2.dpg" alt=""></a><a href=""><img src="./upload/new3.dpg" alt=""></a></div></div>
</body></html>

 

 

之后的布局以及样式都与上面大致相同,京东移动端的练习就先到这里啦 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/670151.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mysql 多数据源

依赖 <dependencies><!--mysql连接--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><scope>runtime</scope></dependency><!--多数据源--><dependency><g…

VLM 系列——Llava1.6——论文解读

一、概述 1、是什么 Llava1.6 是llava1.5 的升级暂时还没有论文等&#xff0c;是一个多模态视觉-文本大语言模型&#xff0c;可以完成&#xff1a;图像描述、视觉问答、根据图片写代码&#xff08;HTML、JS、CSS&#xff09;&#xff0c;潜在可以完成单个目标的视觉定位、名画…

Qt PCL学习(一):环境搭建

参考 (QT配置pcl)PCL1.12.1QT5.15.2vs2019cmake3.22.4vtk9.1.0visual studio2019Qt5.15.2PCL1.12.1vtk9.1.0cmake3.22.2 本博客用到的所有资源 版本一览&#xff1a;Visual Studio 2019 Qt 5.15.2 PCL 1.12.1 VTK 9.1.0https://pan.baidu.com/s/1xW7xCdR5QzgS1_d1NeIZpQ?pw…

计算机设计大赛 深度学习+opencv+python实现车道线检测 - 自动驾驶

文章目录 0 前言1 课题背景2 实现效果3 卷积神经网络3.1卷积层3.2 池化层3.3 激活函数&#xff1a;3.4 全连接层3.5 使用tensorflow中keras模块实现卷积神经网络 4 YOLOV56 数据集处理7 模型训练8 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &am…

React+Antd+实现省、市区级联下拉多选组件

1、效果 是你要的效果&#xff0c;咱们继续往下看&#xff0c;搜索面板实现省市区下拉&#xff0c;原本有antd的Cascader组件&#xff0c;但是级联组件必须选到子节点&#xff0c;不能只选省&#xff0c;满足不了页面的需求 2、环境准备 1、react18 2、antd 4 3、功能实现 …

IntelliScraper 更新 --可自定义最大输出和相似度 支持Html的内容相似度匹配

场景 之前我们在使用IntelliScraper 初代版本的时候&#xff0c;不少人和我反馈一个问题&#xff0c;那就是最大输出结果只有50个&#xff0c;而且还带有html内容&#xff0c;不支持自动化&#xff0c;我声明一下&#xff0c;自动化目前不会支持&#xff0c;以后也不会支持&am…

Java集合为什么不能使用foreach删除元素

文章目录 前言foreach为什么不能使用foreach操作ArrayList迭代器解析 前言 相信各位程序猿在开发的过程中都用过foreach循环&#xff0c;简单快捷的遍历集合或者数组&#xff0c;但是在通过foreach进行集合操作的时候就不可以了&#xff0c;这是为什么&#xff1f;这里先把问题…

正点原子-STM32定时器学习笔记(1)未完待续

1. 通用定时器简介&#xff08;F1为例&#xff09; F1系列通用定时器有4个&#xff0c;TIM2/TIM3/TIM4/TIM5 主要特性&#xff1a; 16位递增、递减、中心对齐计数器&#xff08;计数值&#xff1a;0~65535&#xff09;&#xff1b; 16位预分频器&#xff08;分频系数&#xff…

[晓理紫]AI专属会议截稿时间订阅

AI专属会议截稿时间订阅 关注{晓理紫}&#xff0c;每日更新最新AI专属会议信息&#xff0c;如感兴趣&#xff0c;请转发给有需要的同学&#xff0c;谢谢支持&#xff01;&#xff01; 如果你感觉对你有所帮助&#xff0c;请关注我&#xff0c;每日准时为你推送最新AI专属会议信…

C语言-4

排序算法简介 /*学习内容&#xff1a;冒泡排序&#xff08;最基本的排序方法&#xff09;选择排序&#xff08;冒泡的优化&#xff09;插入排序&#xff08;在合适的位置插入合适的数据&#xff09; *//*排序分类&#xff1a;1.内部排序待需要进行排序的数据全部存放到内存中&…

[职场] C++开发工程师的岗位职责 #学习方法#笔记

C开发工程师的岗位职责 C开发工程师是利用C语言设计完成软件系统底层模块功能&#xff1b;测试软件模块和软集成产品&#xff0c;进行软件故障的诊断、定位、分析和调试&#xff0c;实施产品测试方案&#xff1b;向业务部门提供软件的后期技术支持。C开发工程师是负责使用C编程…

知识融合前沿技术:构建多模态、公平高效的大规模知识表示

目录 前言1 无监督对齐&#xff1a;构建智能实体关联2 多视角嵌入&#xff1a;提高数据利用效率3 嵌入表示增强&#xff1a;挑战节点相似性&#xff0c;对抗训练解决4 大规模实体对齐&#xff1a;克服模糊性和异构性结论 前言 在信息时代&#xff0c;知识融合成为推动人工智能…

全链游戏的未来趋势与Bridge Champ的创新之路

为了充分探索全链游戏的特点和趋势&#xff0c;以及Bridge Champ如何作为一个创新案例融入这一发展脉络&#xff0c;我们需要深入了解这两者之间的互动和相互影响。全链游戏&#xff0c;或完全基于区块链的游戏&#xff0c;代表了游戏行业的一个重要转型&#xff0c;它们利用区…

kafka-splunk数据通路实践

目的&#xff1a; 鉴于目前网络上没有完整的kafka数据投递至splunk教程&#xff0c;通过本文操作步骤&#xff0c;您将实现kafka数据投递至splunk日志系统 实现思路&#xff1a; 创建kafka集群部署splunk&#xff0c;设置HTTP事件收集器部署connector服务创建connector任务&a…

re:从0开始的CSS学习之路 1. CSS语法规则

0. 写在前面 现在大模型卷的飞起&#xff0c;感觉做页面的活可能以后就不需要人来做了&#xff0c;不知道现在还有没有学前端的必要。。。 1. HTML和CSS结合的三种方式 在HTML中&#xff0c;我们强调HTML并不关心显示样式&#xff0c;样式是CSS的工作&#xff0c;现在就轮到C…

6、基于机器学习的预测

应用机器学习的任何预测任务与这四个策略。 文章目录 1、简介1.1定义预测任务1.2准备预测数据1.3多步预测策略1.3.1多输出模型1.3.2直接策略1.3.3递归策略1.3.4DirRec 策略2、流感趋势示例2.1多输出模型2.2直接策略1、简介 在第二课和第三课中,我们将预测视为一个简单的回归问…

EMNLP 2023精选:Text-to-SQL任务的前沿进展(上篇)——正会论文解读

导语 本文记录了今年的自然语言处理国际顶级会议EMNLP 2023中接收的所有与Text-to-SQL相关&#xff08;通过搜索标题关键词查找得到&#xff0c;可能不全&#xff09;的论文&#xff0c;共计12篇&#xff0c;包含5篇正会论文和7篇Findings论文&#xff0c;以下是对这些论文的略…

Redis(三)主从架构、Redis哨兵架构、Redis集群方案对比、Redis高可用集群搭建、Redis高可用集群之水平扩展

转自 极客时间 Redis主从架构 redis主从架构搭建&#xff0c;配置从节点步骤&#xff1a; 1、复制一份redis.conf文件2、将相关配置修改为如下值&#xff1a; port 6380 pidfile /var/run/redis_6380.pid # 把pid进程号写入pidfile配置的文件 logfile "6380.log" …

FPGA解码MIPI视频:Xilinx Artix7-35T低端FPGA,基于MIPI CSI-2 RX Subsystem架构实现,提供工程源码和技术支持

目录 1、前言免责声明 2、相关方案推荐我这里已有的 MIPI 编解码方案本方案在Xilinx Artix7-100T上解码MIPI视频的应用本方案在Xilinx Kintex7上解码MIPI视频的应用本方案在Xilinx Zynq7000上解码MIPI视频的应用本方案在Xilinx Zynq UltraScale上解码MIPI视频的应用纯VHDL代码解…

验证码倒计时:用户界面的小细节,大智慧

欢迎来到我的博客&#xff0c;代码的世界里&#xff0c;每一行都是一个故事 验证码倒计时&#xff1a;用户界面的小细节&#xff0c;大智慧 前言为什么需要验证码倒计时防止滥用&#xff1a;用户心理&#xff1a; 设计考量可见性&#xff1a;友好性&#xff1a;适应性&#xff…