苏宁易购移动端首页(rem布局)

技术选型

  • 方案∶采取单独制作移动页面方案
  • 技术:布局采取rem适配布局( less + rem +媒体查询)设计图:
  • 设计图采用750px设计尺寸

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

    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no,maximum-scale=1.0,minimum-scale=1.0"><title>苏宁易购</title><link rel="stylesheet" href="./css/normalize.css">

设置公共common.less文件

  1. 新建common.less设置好最常见的屏幕尺寸,利用媒体查询设置不同的htm字体大小,因为除了首页其他页面也需要
  2. 我们关心的尺寸有320px、360px、375px、384px、400px、414px、424px、480px、540px、720px、750px
  3. 划分的份数定为15等份
  4. 因为pc端也可以打开我们苏宁移动端首页,我们默认html字体大小为50px,注意这句话写到最上面

新建index.less文件

1.新建index.less这里面写首页的样式
2.将刚才设置好的common.less 引入到index.less里面语法如下:
 

//在index.less 中导入common.less 文件
@import "common”

搜索区域

因为是rem布局,所以设置宽度高度或者跟数字有关的数据时,都要除以html的文字大小

构造就是使用flex布局,左右定宽,中间flex为1.

    <!-- 顶部搜索框 --><div class="search-content"><a href="" class="classify"></a><div class="search"><form action=""><input type="search" value="厨卫保暖器"></form></div><a href="" class="login">登录</a></div>
body {min-width: 320px;width: 15rem;margin: 0 auto;line-height: 1.5;background: #f2f2f2;
}
@basefont:50;
.search-content {display: flex;position: fixed;top: 0;left: 50%;transform: translateX(-50%);width: 15rem;height: (88rem / @basefont);background-color: #ffc001;.classify {width: (44rem / @basefont);height: (70rem / @basefont);margin: (11rem / @basefont) (25rem / @basefont) (7rem / @basefont) (24rem / @basefont) ;background: url(../images/classify.png) no-repeat;background-size: (44rem / @basefont) (70rem / @basefont);}.search {flex: 1;line-height: (75rem / @basefont);input {outline: none;border: 0;width: 100%;height: (66rem / @basefont);border-radius: (33rem / @basefont);background-color: #fff2cc;font-size: (25rem / @basefont);padding-left: (55rem / @basefont);color: #757575;}}.login {width: (75rem / @basefont);height: (70rem / @basefont);margin: (10rem / @basefont);text-align: center;line-height: (70rem / @basefont);font-size: (25rem /@basefont);color: #fff;}
}

banner区域

banner区域放置一张图片,为了使图片也能自适应,应该设定banner的宽度和高度,图片在里面百分百就可以

    <div class="banner"><img src="./upload/banner.gif" alt=""></div>
// banner
.banner {width: (750rem / @basefont);height: (368rem / @basefont);img {width: 100%;height: 100%;}
}

广告区域

该区域分为三个部分,可使用flex布局使三张链接图片平分为三部分,让a里面的图片宽度百分百即可

    <div class="ad"><a href=""><img src="./upload/ad1.gif" alt=""></a><a href=""><img src="./upload/ad2.gif" alt=""></a><a href=""><img src="./upload/ad3.gif" alt=""></a></div>
// ad
.ad {display: flex;a {flex: 1;img {width: 100%;}}
}

nav

这次的nav先不用flex布局,用rem布局,每个a元素的宽高固定,再对a元素进行浮动即可

<div class="nav"><a href=""><img src="./upload/nav1.png" alt=""><span>爆款手机</span></a><a href=""><img src="./upload/nav1.png" alt=""><span>爆款手机</span></a><a href=""><img src="./upload/nav1.png" alt=""><span>爆款手机</span></a><a href=""><img src="./upload/nav1.png" alt=""><span>爆款手机</span></a><a href=""><img src="./upload/nav1.png" alt=""><span>爆款手机</span></a><a href=""><img src="./upload/nav1.png" alt=""><span>爆款手机</span></a><a href=""><img src="./upload/nav1.png" alt=""><span>爆款手机</span></a><a href=""><img src="./upload/nav1.png" alt=""><span>爆款手机</span></a><a href=""><img src="./upload/nav1.png" alt=""><span>爆款手机</span></a><a href=""><img src="./upload/nav1.png" alt=""><span>爆款手机</span></a></div>
.nav {width: (750rem / @basefont);a {margin-top: (10rem / @basefont);float: left;width: (150rem / @basefont);height: (140rem / @basefont);text-align: center;img {display: block;width: (82rem / @basefont);height: (82rem / @basefont);margin: (10rem / @basefont) auto 0;}span {font-size: (25rem / @basefont);color: #333;}}
}

剩下的样式都是常规操作,我就不详细说了,以上代码主要是熟悉rem布局的做法。

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

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

快速入门Safetensors

快速入门Safetensors 什么是Safetensors架构常用操作速度对比彩蛋 Safetensors官方网址 什么是Safetensors Safetensors是一种新的简单格式&#xff0c;用于安全存储张量(与pickle相反)&#xff0c;而且速度仍然很快(零拷贝)。 架构 常用操作 # pip install safetensors# L…

AI嵌入式K210项目(26)-二维码识别

文章目录 前言一、什么是二维码&#xff1f;二、实验准备三、实验过程四、API接口总结 前言 本章介绍基于机器视觉实现二维码识别&#xff0c;主要包含两个过程&#xff0c;首先检测图像中是否有二维码&#xff0c;如果有则框出并打印二维码信息&#xff1b; 一、什么是二维码…

揭开Markdown的秘籍:标题|文字样式|列表

&#x1f308;个人主页&#xff1a;聆风吟 &#x1f525;系列专栏&#xff1a;Markdown指南、网络奇遇记 &#x1f516;少年有梦不应止于心动&#xff0c;更要付诸行动。 文章目录 &#x1f4cb;前言一. ⛳️Markdown 标题二. ⛳️Markdown 文字样式2.1 &#x1f514;斜体2.2 &…

MacOS 查AirPods 电量技巧:可实现低电量提醒、自动弹窗

要怎么透过macOS 来查询AirPods 电量呢&#xff1f;当AirPods 和Mac 配对后&#xff0c;有的朋友想通过Mac来查询AirPods有多少电量&#xff0c;这个里有几个技巧&#xff0c;下面我们来介绍一下。 透过Mac 查AirPods 电量技巧 技巧1. 利用状态列上音量功能查询 如要使用此功能…

Spring Boot + 七牛OSS: 简化云存储集成

引言 Spring Boot 是一个非常流行的、快速搭建应用的框架&#xff0c;它无需大量的配置即可运行起来&#xff0c;而七牛云OSS提供了稳定高效的云端对象存储服务。利用两者的优势&#xff0c;可以为应用提供强大的文件存储功能。 为什么选择七牛云OSS? 七牛云OSS提供了高速的…

《Git 简易速速上手小册》第6章:Git 在持续集成/持续部署(CI/CD)中的应用(2024 最新版)

文章目录 6.1 CI/CD基础6.1.1 基础知识讲解6.1.2 重点案例&#xff1a;为 Python Web 应用实现 CI/CD6.1.3 拓展案例 1&#xff1a;自动化部署到云平台6.1.4 拓展案例 2&#xff1a;使用 Docker 容器化部署 6.2 Git 与自动化测试6.2.1 基础知识讲解6.2.2 重点案例&#xff1a;为…

【数据结构】数据结构

本文是基于中国MOOC平台上&#xff0c;华中科技大学的《数据结构》课程和浙江大学的《数据结构》课程所作的一篇课程笔记&#xff0c;便于后期讲行系统性查阅和复习。 从个人感受而言&#xff0c;华中科技大学的课程讲解更适合初学者&#xff08;缺点在于&#xff0c;从概念到…

2024-01-06-AI 大模型全栈工程师 - 机器学习基础

摘要 2024-01-06 阴 杭州 晴 本节简介: a. 数学模型&算法名词相关概念; b. 学会数学建模相关知识&#xff1b; c. 学会自我思考&#xff0c;提升认知&#xff0c;不要只会模仿&#xff1b; 课程内容 1. Fine-Tuning 有什么作用&#xff1f; a. 什么是模型训练&#xff…

redis的主从配置模拟(一主双从)

目录 先来给大家扩展机道面试官经常会问到关于redis的题 一、redis有哪些好处 二、redis相比memcached有哪些优势 三、redis常见性能问题和解决方案 四、redis集群的工作原理 五、redis主从的原理 redis的主从配置模拟&#xff08;一主双从&#xff09; 一、准备环境 …

TCP 传输控制协议——详细

目录 1 TCP 1.1 TCP 最主要的特点 1.2 TCP 的连接 TCP 连接&#xff0c;IP 地址&#xff0c;套接字 1.3 可靠传输的工作原理 1.3.1 停止等待协议 &#xff08;1&#xff09;无差错情况 &#xff08;2&#xff09;出现差错 &#xff08;3&#xff09;确认丢失和确认迟到…

JetpackCompose之状态管理

JetPack Compose系列&#xff08;13&#xff09;—状态管理 State 即&#xff0c;状态。官方的解释是&#xff1a; State in an application is any value that can change over time. And ****event can notify a part of a program that something has happened. 可以这样…

113.路径总和 II

给你二叉树的根节点 root 和一个整数目标和 targetSum &#xff0c;找出所有 从根节点到叶子节点 路径总和等于给定目标和的路径。 叶子节点 是指没有子节点的节点。 示例 1&#xff1a; 输入&#xff1a;root [5,4,8,11,null,13,4,7,2,null,null,5,1], targetSum 22 输出&a…

cleanmymacX和腾讯柠檬哪个好用

很多小伙伴在使用Mac时&#xff0c;会遇到硬盘空间不足的情况。遇到这种情况&#xff0c;我们能做的就是清理掉一些不需要的软件或者一些占用磁盘空间较大的文件来腾出空间。我们可以借助一些专门的清理工具&#xff0c;本文中我们来推荐几款好用的Mac知名的清理软件。并且将Cl…

【Git】Windows下通过Docker安装GitLab

私有仓库 前言基本思路拉取镜像创建挂载目录创建容器容器启动成功登录仓库设置中文更改密码人员审核配置邮箱 前言 由于某云存在人数限制&#xff0c;这个其实很好理解&#xff0c;毕竟使用的是云服务器&#xff0c;人家也是要交钱的。把代码完全放在别人的服务器上面&#xf…

百家cms代审

环境搭建 源码链接如下所示 https://gitee.com/openbaijia/baijiacms 安装至本地后 直接解压到phpstudy的www目录下即可 接下来去创建一个数据库用于存储CMS信息。&#xff08;在Mysql命令行中执行&#xff09; 接下来访问CMS&#xff0c;会默认跳转至安装界面 数据库名称和…

114.乐理基础-五线谱-快速识别五线谱的谱号

内容参考于&#xff1a;三分钟音乐社 上一个内容&#xff1a;113.乐理基础-五线谱-五线谱的调号&#xff08;二&#xff09;-CSDN博客 15个调号&#xff0c;如下图&#xff0c;该怎样才能随便拿出一个来就能快速的知道这是什么调号呢&#xff1f; 一共分为三个要点&#xff1…

单片机学习笔记---DS1302时钟

上一节我们讲了DS1302的工作原理&#xff0c;这一节我们开始代码演示。 新创建一个工程写上框架 我们需要LCD1602进行显示&#xff0c;所以我们要将LCD1602调试工具那一节的LCD1602的模块化代码给添加进来 然后我们开始创建一个DS1302.c和DS1302.h 根据原理图&#xff0c;为了…

牛客网SQL进阶114:更新记录

官网链接&#xff1a; 更新记录&#xff08;二&#xff09;_牛客题霸_牛客网现有一张试卷作答记录表exam_record&#xff0c;其中包含多年来的用户作答试卷记录&#xff0c;结构如下表。题目来自【牛客题霸】https://www.nowcoder.com/practice/0c2e81c6b62e4a0f848fa7693291d…

肯尼斯·里科《C和指针》第13章 高级指针话题(2)函数指针

我们不会每天都使用函数指针。但是&#xff0c;它们的确有用武之地&#xff0c;最常见的两个用途是转换表(jump table)和作为参数传递给另一个函数。本节将探索这两方面的一些技巧。但是&#xff0c;首先容我指出一个常见的错误&#xff0c;这是非常重要的。 简单声明一个函数指…

【MATLAB源码-第138期】基于matlab的D2D蜂窝通信仿真,对比启发式算法,最优化算法和随机算法的性能。

操作环境&#xff1a; MATLAB 2022a 1、算法描述 D2D蜂窝通信介绍 D2D蜂窝通信允许在同一蜂窝网络覆盖区域内的终端设备直接相互通信&#xff0c;而无需数据经过基站或网络核心部分转发。这种通信模式具有几个显著优点&#xff1a;首先&#xff0c;它可以显著降低通信延迟&…