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

2024-02-08 21:12

本文主要是介绍苏宁易购移动端首页(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布局的做法。

这篇关于苏宁易购移动端首页(rem布局)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/692213

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

我在移动打工的日志

客户:给我搞一下录音 我:不会。不在服务范围。 客户:是不想吧 我:笑嘻嘻(气笑) 客户:小姑娘明明会,却欺负老人 我:笑嘻嘻 客户:那我交话费 我:手机号 客户:给我搞录音 我:不会。不懂。没搞过。 客户:那我交话费 我:手机号。这是电信的啊!!我这是中国移动!! 客户:我不管,我要充话费,充话费是你们的 我:可是这是移动!!中国移动!! 客户:我这是手机号 我:那又如何,这是移动!你是电信!!

用Unity2D制作一个人物,实现移动、跳起、人物静止和动起来时的动画:中(人物移动、跳起、静止动作)

上回我们学到创建一个地形和一个人物,今天我们实现一下人物实现移动和跳起,依次点击,我们准备创建一个C#文件 创建好我们点击进去,就会跳转到我们的Vision Studio,然后输入这些代码 using UnityEngine;public class Move : MonoBehaviour // 定义一个名为Move的类,继承自MonoBehaviour{private Rigidbo

lvgl8.3.6 控件垂直布局 label控件在image控件的下方显示

在使用 LVGL 8.3.6 创建一个垂直布局,其中 label 控件位于 image 控件下方,你可以使用 lv_obj_set_flex_flow 来设置布局为垂直,并确保 label 控件在 image 控件后添加。这里是如何步骤性地实现它的一个基本示例: 创建父容器:首先创建一个容器对象,该对象将作为布局的基础。设置容器为垂直布局:使用 lv_obj_set_flex_flow 设置容器

简单的角色响应鼠标而移动

actor类 //处理移动距离,核心是找到角色坐标在世界坐标的向量的投影(x,y,z),然后在世界坐标中合成,此CC是在地面行走,所以Y轴投影始终置为0; using UnityEngine; using System.Collections; public class actor : MonoBehaviour { public float speed=0.1f; CharacterCo

Apache Tiles 布局管理器

陈科肇 =========== 1.简介 一个免费的开源模板框架现代Java应用程序。  基于该复合图案它是建立以简化的用户界面的开发。 对于复杂的网站,它仍然最简单,最优雅的方式来一起工作的任何MVC技术。 Tiles允许作者定义页面片段可被组装成在运行一个完整的网页。  这些片段,或Tiles,可以用于为了降低公共页面元素的重复,简单地包括或嵌入在其它瓦片,制定了一系列可重复使用

【CSS in Depth 2 精译_023】第四章概述 + 4.1 Flexbox 布局的基本原理

当前内容所在位置(可进入专栏查看其他译好的章节内容) 第一章 层叠、优先级与继承(已完结) 1.1 层叠1.2 继承1.3 特殊值1.4 简写属性1.5 CSS 渐进式增强技术1.6 本章小结 第二章 相对单位(已完结) 2.1 相对单位的威力2.2 em 与 rem2.3 告别像素思维2.4 视口的相对单位2.5 无单位的数值与行高2.6 自定义属性2.7 本章小结 第三章 文档流与盒模型(已

物联网之流水LED灯、正常流水灯、反复流水灯、移动流水灯

MENU 硬件电路设计软件程序设计正常流水LED灯反复流水LED灯移动流水LED灯 硬件电路设计 材料名称数量直插式LED1kΩ电阻杜邦线(跳线)若干面包板1 每一个LED的正极与开发板一个GPIO引脚相连,并串联一个电阻,负极接GND。 当然也可以选择只使用一个电阻。 软件程序设计 正常流水LED灯 因为要用到多个GPIO引脚,所以最好把所有的GPI

12C 新特性,MOVE DATAFILE 在线移动 包括system, 附带改名 NID ,cdb_data_files视图坏了

ALTER DATABASE MOVE DATAFILE  可以改名 可以move file,全部一个命令。 resue 可以重用,keep好像不生效!!! system照移动不误-------- SQL> select file_name, status, online_status from dba_data_files where tablespace_name='SYSTEM'

《C++中的移动构造函数与移动赋值运算符:解锁高效编程的最佳实践》

在 C++的编程世界中,移动构造函数和移动赋值运算符是提升程序性能和效率的重要工具。理解并正确运用它们,可以让我们的代码更加高效、简洁和优雅。 一、引言 随着现代软件系统的日益复杂和对性能要求的不断提高,C++程序员需要不断探索新的技术和方法来优化代码。移动构造函数和移动赋值运算符的出现,为解决资源管理和性能优化问题提供了有力的手段。它们允许我们在不进行不必要的复制操作的情况下,高效地转移资源