苏宁易购移动端首页(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布局的做法。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

python-基础篇-列表-脚本

文章目录 01_下标.py02_查找.py03_判断是否存在.py04_体验案例判断是否存在.py05_列表增加数据之append.py06_列表增加数据之extend.py07_列表增加数据之insert.py08_列表删除数据.py09_列表修改数据.py10_列表复制数据.py11_列表的循环遍历之while.py12_列表的循环遍历之for.p…

Redis(02)——事务管理

事务概念 Redis事务的本质是一组命令的集合。事务支持一次执行多个命令&#xff0c;一个事务中所有命令都会被序列化&#xff0c;在事务执行过程中&#xff0c;会按照顺序串行化执行队列中的命令&#xff0c;其他客户端提交的命令请求不会插入到事务执行命令序列中 Redis事务…

【EEG信号处理】对信号进行模拟生成

生成信号的目的还是主要是为了学习和探究后面的分析方法&#xff1b;本文主要是对方法进行整理 瞬态 transient 瞬态信号是指的是一瞬间信号上去了&#xff0c;这种情况我们可以用在时域上高斯模拟 peaktime 1; % seconds width .12; ampl 9; gaus ampl * exp( -(EEG.tim…

Transformer的PyTorch实现之若干问题探讨(一)

《Transformer的PyTorch实现》这篇博文以一个机器翻译任务非常优雅简介的阐述了Transformer结构。在阅读时存在一些小困惑&#xff0c;此处权当一个记录。 1.自定义数据中enc_input、dec_input及dec_output的区别 博文中给出了两对德语翻译成英语的例子&#xff1a; # S: de…

最新的 Ivanti SSRF 零日漏洞正在被大规模利用

Bleeping Computer 网站消息&#xff0c;安全研究员发现 Ivanti Connect Secure 和 Ivanti Policy Secure 服务器端请求伪造 (SSRF) 漏洞&#xff08;CVE-2024-21893 &#xff09;正在被多个威胁攻击者大规模利用。 2024 年 1 月 31 日&#xff0c;Ivanti 首次就网关 SAML 组件…

深入理解Netty及核心组件使用—上

目录 Netty的优势 为什么Netty使用NIO而不是AIO&#xff1f; Netty基本组件 Bootstrap、EventLoop(Group) 、Channel 事件和 ChannelHandler、ChannelPipeline ChannelFuture Netty入门程序 服务端代码 客户端代码 运行结果 Netty的优势 1. API 使用简单&#xff0c…

【QT】day6

#include "home.h" #include "ui_home.h"Home::Home(QWidget *parent): QWidget(parent), ui(new Ui::Home) {ui->setupUi(this);// 从配置文件读取用户名QSettings settings("kim", "ad");username settings.value("usernam…

PlateUML绘制UML图教程

UML&#xff08;Unified Modeling Language&#xff09;是一种通用的建模语言&#xff0c;广泛用于软件开发中对系统进行可视化建模。PlantUML是一款强大的工具&#xff0c;通过简单的文本描述&#xff0c;能够生成UML图&#xff0c;包括类图、时序图、用例图等。PlantUML是一款…

彩虹系统7.0免授权+精美WAP端模板源码

最低配置环境 PHP7.2 1、上传源码到网站根目录&#xff0c;导入数据库文件 2、修改数据库配置文件&#xff1a;/config.php 3、后台&#xff1a;/admin 账号&#xff1a; 4、前台用户&#xff1a;123456 密码&#xff1a;1234561

请手写几种js排序算法

什么是排序算法 冒泡排序选择排序插入排序快速排序归并排序&#xff08;Merge Sort&#xff09; 思想实现测试分析动画 快速排序 &#xff08;Quick Sort&#xff09; 思想实现测试分析动画 思考&#xff1a;快排和归并用的都是分治思想&#xff0c;递推公式和递归代码也非常相…

【数据分享】1929-2023年全球站点的逐月平均风速(Shp\Excel\免费获取)

气象数据是在各项研究中都经常使用的数据&#xff0c;气象指标包括气温、风速、降水、能见度等指标&#xff0c;说到气象数据&#xff0c;最详细的气象数据是具体到气象监测站点的数据&#xff01; 有关气象指标的监测站点数据&#xff0c;之前我们分享过1929-2023年全球气象站…

[算法前沿]--058- LangChain 构建 LLM 应用详细教程

什么是LLMs? LLM,即大型语言模型,是指经过大量文本数据训练的最先进的语言模型。它利用深度学习技术来理解和生成类似人类的文本,使其成为各种应用程序的强大工具,例如文本完成、语言翻译、情感分析等。LLMs最著名的例子之一是 OpenAI 的 GPT-3,它因其语言生成能力而受到…

《MySQL 简易速速上手小册》第5章:高可用性和灾难恢复(2024 最新版)

文章目录 5.1 构建高可用性 MySQL 解决方案5.1.1 基础知识5.1.2 重点案例&#xff1a;使用 Python 构建高可用性的电子商务平台数据库5.1.3 拓展案例 5.2 数据备份策略和工具5.2.1 基础知识5.2.2 重点案例&#xff1a;使用 Python 实现 MySQL 定期备份5.2.3 拓展案例 5.3 灾难恢…

【网工】华为设备命令学习(服务器发布)

本次实验主要是内网静态nat配置没&#xff0c;对外地址可以理解为一台内网的服务器&#xff0c;外网设备可以ping通内网的服务器设备&#xff0c;但是ping不通内网的IP。 除了AR1设备配置有区别&#xff0c;其他设备都是基础IP的配置。 [Huawei]int g0/0/0 [Huawei-GigabitEt…

排序算法---快速排序

原创不易&#xff0c;转载请注明出处。欢迎点赞收藏~ 快速排序是一种常用的排序算法&#xff0c;采用分治的策略来进行排序。它的基本思想是选取一个元素作为基准&#xff08;通常是数组中的第一个元素&#xff09;&#xff0c;然后将数组分割成两部分&#xff0c;其中一部分的…

在Visual Studio中引用和链接OpenSceneGraph (OSG) 库

在Visual Studio中引用和链接OpenSceneGraph (OSG) 库&#xff0c;按照以下步骤操作&#xff1a; 构建或安装OSG库 下载OpenSceneGraph源代码&#xff08;如3.0版本&#xff09;并解压。使用CMake配置项目&#xff0c;为Visual Studio生成解决方案文件。通常您需要设置CMake中的…

PHPExcel导出excel

PHPExcel下载地址 https://gitee.com/mirrors/phpexcelhttps://github.com/PHPOffice/PHPExcel 下载后目录结构 需要的文件如下图所示 将上面的PHPExcel文件夹和PHPExcel.php复制到你需要的地方 这是一个简单的示例代码 <?php$dir dirname(__FILE__); //require_once …

电脑通电自启动设置

首先要进入BIOS&#xff0c;以华硕为例&#xff0c;按下电源键&#xff0c;在开机之前按下delete键&#xff0c;其他电脑可能是esc或者某个f键&#xff0c;请自行查找。 进入BIOS后要找到电源管理&#xff0c;可以在高级选项中找一找&#xff0c;如上图右下角选择高级模式。 …

【DDD】学习笔记-理解领域模型

Eric Evans 的领域驱动设计是对软件设计领域的一次重新审视&#xff0c;是在面向对象语言大行其道时对数据建模的“拨乱反正”。Eric 强调了模型的重要性&#xff0c;例如他在书中总结了模型在领域驱动设计中的作用包括&#xff1a; 模型和设计的核心互相影响模型是团队所有成…

基于微信小程序的校园二手交易平台

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…