移动端基础-vw适配

什么是vw

相对单位

相对视口的尺寸

vw:viewport width

换算 1vw=1/100视口宽度

vw不需要向rem一样检查视口宽度

若视口宽为375px

1vw=3.75px

vw与vmin的区别

vmin更照顾横竖屏问题

1vw是视口宽度的100%,而vmin是找宽度和高度中最小的那个,这样横屏看着更舒服

左图单位为vmin,右图用vw

案例

<!DOCTYPE html>
<html lang="en">

<head>
   <meta charset="UTF-8">
   <meta http-equiv="X-UA-Compatible" content="IE=edge">
   <meta name="viewport"
      content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no">


   <title>bilibili-干杯~~~</title>

   <link rel="shortcut icon" href="https://www.bilibili.com/favicon.ico">
   <link rel="stylesheet" href="css/初始化表.css">
   <link rel="stylesheet" href="css/index.css">
   <meta name="keywords" content="..." />
   <style>
      /*写代码时始终要考虑权重问题!
               */

      @font-face {
         font-family: 'icomoon';
         src: url('fonts/icomoon.eot?au9n7q');
         src: url('fonts/icomoon.eot?au9n7q#iefix') format('embedded-opentype'),
            url('fonts/icomoon.ttf?au9n7q') format('truetype'),
            url('fonts/icomoon.woff?au9n7q') format('woff'),
            url('fonts/icomoon.svg?au9n7q#icomoon') format('svg');
         font-weight: normal;
         font-style: normal;
         font-display: block;
      }
   </style>

</head>

<body>
   <header class="suspension">
      <div class="m-navbar">
         <a href="#" class="logo"><img
               src="https://s1.hdslb.com/bfs/static/jinkela/long/mstation/logo-bilibili-pink.png@132w_60h_1c.webp"
               alt=""></a>
         <div class="right">
            <a href="#" class="search">
               <i></i>
            </a>
            <a href="#" class="face">
               <img
                  src="https://gss0.baidu.com/94o3dSag_xI4khGko9WTAnF6hhy/zhidao/pic/item/2e2eb9389b504fc2f5b3daa7e3dde71191ef6da7.jpg"
                  alt="">
            </a>
            <div class="app-btn">
               <span>下载&nbsp;App</span>
            </div>
         </div>
      </div>
      <div class="channel-menu">
         <div class="tabs">
            <div class="tabs-list">
               <a href="#">首页</a>
               <a href="#">动画</a>
               <a href="#">番剧</a>
               <a href="#">国创</a>
               <a href="#">音乐</a>
               <a href="#">舞蹈</a>
               <a href="#">游戏</a>
               <a href="#">知识</a>
               <a href="#">科技</a>
               <a href="#">运动</a>
               <div class="line-red"></div>
            </div>
         </div>
         <div class="after">
            <i></i>
         </div>
      </div>
   </header>

   <div class="m-home">
      <div class="video-list">
         <a href="#" class="video-item">
            <div class="card">
               <img src="https://b.zol-img.com.cn/soft/6/485/cecqQ9WB4lCHo.jpg" alt="">
               <div class="count">
                  <span> 138.4万</span>
                  <span> 1323</span>
               </div>
            </div>
            <div class="title">
               <p class="ellipsis-2">实现了课程代码看了没开空间即可健康科技就去玩儿拖与为哦屁以以以以以以看就看就看门</p>
            </div>

         </a>
         <a href="#" class="video-item">
            <div class="card">
               <img src="https://ts1.cn.mm.bing.net/th/id/R-C.eeb604212956104615f7a7e89c751279?rik=0WpNokXl3cxgYA&riu=http%3a%2f%2fimg.61gequ.com%2fallimg%2f2011-11%2f2011111717442479365.jpg&ehk=I20lC0zcaTtnYfLm%2feTkMr8sOhcmqRRhgJaGPY7%2bSRE%3d&risl=&pid=ImgRaw&r=0" alt="">
               <div class="count">
                  <span> 138.4万</span>
                  <span> 1323</span>
               </div>
            </div>
            <div class="title">
               <p class="ellipsis-2">实现了课程代码看了没开空间即可健康科技就去玩儿拖与为哦屁以以以以以以看就看就看门</p>
            </div>

         </a>
         <a href="#" class="video-item">
            <div class="card">
               <img src="https://ts1.cn.mm.bing.net/th/id/R-C.2feeaf1a4658fa470ddb04e6affca7e1?rik=6YtiVjqkb0C9hA&riu=http%3a%2f%2fpic8.58cdn.com.cn%2fp1%2fbig%2fn_v1bl2lwtiprh2fqtmtr4nq_4b902c3d9f8abab8.jpg&ehk=K7aJ7tE8P15YDR7%2fR%2bPCEA9MB6Vl%2fFOxCG5E8RgPdjE%3d&risl=&pid=ImgRaw&r=0" alt="">
               <div class="count">
                  <span> 138.4万</span>
                  <span> 1323</span>
               </div>
            </div>
            <div class="title">
               <p class="ellipsis-2">实现了课程代码看了没开空间即可健康科技就去玩儿拖与为哦屁以以以以以以看就看就看门</p>
            </div>

         </a>
         <a href="#" class="video-item">
            <div class="card">
               <img src="https://b.zol-img.com.cn/soft/6/485/cecqQ9WB4lCHo.jpg" alt="">
               <div class="count">
                  <span> 138.4万</span>
                  <span> 1323</span>
               </div>
            </div>
            <div class="title">
               <p class="ellipsis-2">实现了课程代码看了没开空间即可健康科技就去玩儿拖与为哦屁以以以以以以看就看就看门</p>
            </div>

         </a>
         <a href="#" class="video-item">
            <div class="card">
               <img src="https://b.zol-img.com.cn/soft/6/485/cecqQ9WB4lCHo.jpg" alt="">
               <div class="count">
                  <span> 138.4万</span>
                  <span> 1323</span>
               </div>
            </div>
            <div class="title">
               <p class="ellipsis-2">实现了课程代码看了没开空间即可健康科技就去玩儿拖与为哦屁以以以以以以看就看就看门</p>
            </div>

         </a>
         <a href="#" class="video-item">
            <div class="card">
               <img src="https://b.zol-img.com.cn/soft/6/485/cecqQ9WB4lCHo.jpg" alt="">
               <div class="count">
                  <span> 138.4万</span>
                  <span> 1323</span>
               </div>
            </div>
            <div class="title">
               <p class="ellipsis-2">实现了课程代码看了没开空间即可健康科技就去玩儿拖与为哦屁以以以以以以看就看就看门</p>
            </div>

         </a>
         <a href="#" class="video-item">
            <div class="card">
               <img src="https://b.zol-img.com.cn/soft/6/485/cecqQ9WB4lCHo.jpg" alt="">
               <div class="count">
                  <span> 138.4万</span>
                  <span> 1323</span>
               </div>
            </div>
            <div class="title">
               <p class="ellipsis-2">实现了课程代码看了没开空间即可健康科技就去玩儿拖与为哦屁以以以以以以看就看就看门</p>
            </div>
         </a>
         <a href="#" class="video-item">
            <div class="card">
               <img src="https://b.zol-img.com.cn/soft/6/485/cecqQ9WB4lCHo.jpg" alt="">
               <div class="count">
                  <span> 138.4万</span>
                  <span> 1323</span>
               </div>
            </div>
            <div class="title">
               <p class="ellipsis-2">实现了课程代码看了没开空间即可健康科技就去玩儿拖与为哦屁以以以以以以看就看就看门</p>
            </div>
         </a>
      </div>

      <a class="bottom">
         <span>打开App,看你感兴趣的视频</span>
      </a>
   </div>
</body>

</html>
@baseSize: 3.75vw;

.suspension {
    z-index: 1;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color: #fff;

    .m-navbar {
        padding: 0 (12 / @baseSize) 0 (18 / @baseSize);
        display: flex;
        justify-content: space-between;
        align-items: center;
        height: (44 / @baseSize);

        .logo {
            img {
                width: (66 / @baseSize);
            }
        }

        .right {
            display: flex;

            .search {
                i {
                    color: #ccc;
                    font-family: 'icomoon';
                    font-size: (19 / @baseSize);
                }
            }

            .face {
                width: (24 / @baseSize);
                height: (24 / @baseSize);
                margin: 0 (20 / @baseSize);

                img {
                    width: 100%;
                    height: 100%;
                    border-radius: 50%;
                }
            }

            .app-btn {
                border-radius: 4px;
                width: (72 / @baseSize);
                height: (24 / @baseSize);
                background-color: rgb(246, 14, 172);

                span {

                    display: flex;
                    justify-content: center;
                    color: #fff;
                    font-size: (14 / @baseSize);
                }
            }
        }
    }
}

.channel-menu {
    display: flex;
    justify-content: space-between;
    height: (40 / @baseSize);
    background-color: #fff;
    border-bottom: 1px solid #e8e5e5;

    .tabs {
        overflow: hidden;
        flex: 1;
        position: relative;

        .tabs-list {
            display: flex;

            a {
                padding: 0 (16 / @baseSize);
                white-space: nowrap;
                font-size: (14 / @baseSize);
                line-height: (40 / @baseSize);
            }

            .line-red {
                width: (28 / @baseSize);
                height: (2 / @baseSize);
                background-color: #fb7299;
                position: absolute;
                left: (16 / @baseSize);
                bottom: 0;
            }
        }
    }

    .after {
        width: (40 / @baseSize);
        height: (39 / @baseSize);
        text-align: center;
        line-height: (40 / @baseSize);
        background-color: #fff;

        i {
            color: #ccc;
            font-family: 'icomoon';
            font-size: (19 / @baseSize);

        }
    }
}

.m-home {
    padding: (85 / @baseSize) (5 / @baseSize) 0;

    .bottom {
        height: (38 / @baseSize);
        width: (351 / @baseSize);
        position: fixed;
        background-color: #fb7299;
        bottom: (20 / @baseSize);
        left: auto;
        border-radius: ((37 / 2) / @baseSize);
        text-align: center;
        line-height: (38 / @baseSize);

        span {
            color: #fff;
            font-size: (12 / @baseSize);
        }
    }

    .video-list {
        display: flex;
        flex-wrap: wrap;

        .video-item {
            width: 50%;
            padding: (8 / @baseSize) (5 / @baseSize);


            .title {
                width: 100%;
                height: (42 / @baseSize);
                margin-top: (5 / @baseSize);

                .ellipsis-2 {

                    font-size: (12 / @baseSize);
                }

            }

            .card {
                position: relative;
                height: (97 / @baseSize);
                width: 100%;

                img {
                    height: 100%;
                    width: 100%;
                }

                .count {
                    position: absolute;
                    height: (27 / @baseSize);
                    left: 0;
                    bottom: 0;
                    width: 100%;
                    padding: (5 / @baseSize);
                    display: flex;
                    justify-content: space-between;
                    align-items: center;

                    background-image: linear-gradient(transparent, rgb(55, 54, 54));

                    span {
                        font-size: (12 / @baseSize);
                        font-family: 'icomoon';
                        color: #fff;
                    }
                }
            }
        }
    }
}

效果: 

                                

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

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

相关文章

Ansible自动化工具(1)

目录 ansible的特性&#xff1a;. 二.部署ansible 管理端安装 ansible&#xff1a; ansible 目录结构&#xff1a; 管理主机上配置主机清单&#xff1a; ​编辑 配置密钥对验证&#xff1a; ansible 命令行模块 &#xff1a; 1&#xff0e;command 模块 指定 ip 执行…

Python使用zdppy_es国产框架操作Elasticsearch实现增删改查

Python使用zdppy_es国产框架操作Elasticsearch实现增删改查 本套教程配套有录播课程和私教课程&#xff0c;欢迎私信我。 Docker部署ElasticSearch7 创建基本容器 docker run -itd --name elasticsearch -p 9200:9200 -e "discovery.typesingle-node" -e ES_JAVA_…

esp8266 步骤

安装驱动 http://arduino.esp8266.com/stable/package_esp8266com_index.json oled库 esp8266-oled-ssd1306

网络规划与部署实训

一 实训目的及意义 本周实训主要是了解网络规划与部署&#xff0c;熟悉三大厂商华为、思科、锐捷交换机路由器以及相关协议的原理和配置&#xff0c;提高学生的动手能力和分析规划部署能力。 实训主要针对计算机网络系统集成的设计与实现的实际训练&#xff0c;着重锻炼学生熟练…

网站不收录,与服务器不备案有关吗

随着互联网的快速发展&#xff0c;网站已经成为企业、个人和机构宣传和展示自己的重要平台。然而&#xff0c;许多网站在建设完成后却面临着不收录的问题&#xff0c;这给网站的管理者和拥有者带来了很大的困扰。其中&#xff0c;一些人认为&#xff0c;网站不收录的原因与服务…

什么是前端工程化,请举例说明

前端工程化 前端工程化的定义为什么需要前端工程化前端工程化的核心概念 模块化开发&#xff1a;组件化开发&#xff1a;规范化开发&#xff1a;自动化开发&#xff1a;持续集成 前端工程化的主要工具前端工程化的应用总结&#xff1a; 前端工程化 前端工程化的定义 前端工程…

百面嵌入式专栏(面试题)华为面试题

文章目录 题目:static有什么用途?(请至少说明两种)题目:引用与指针有什么区别?题目:描述实时系统的基本特性题目:全局变量和局部变量在内存中是否有区别?如果有,是什么区别?题目:什么是平衡二叉树?题目:堆栈溢出一般是由什么原因导致的?题目:什么函数不能声明为…

2020年通信工程师初级专业实务真题

文章目录 一、第1章 现代通信网概述&#xff1a;信令网、同步网、管理网。第10章 通信业务&#xff1a;通信产业链&#xff0c;通信终端的分类&#xff0c;通信业务的定义及分类二、第3章 接入网&#xff1a;无线接入网的优点&#xff0c;接入网的接口&#xff08;UNI&#xff…

2024 Google Chrome 浏览器回退安装旧版本

2024 Google Chrome 浏览器回退安装旧版本 查看当前谷歌版本备份浏览器数据卸载浏览器双击重新安装旧版本浏览器 查看当前谷歌版本 详细参考&#xff1a;参考 笔记&#xff1a;最近谷歌浏览器更新后&#xff0c;用着总感觉别扭&#xff1a;不习惯 备份浏览器数据 &#xff…

【自然语言处理】P4 神经网络基础 - 激活函数

目录 激活函数SigmoidTanhReLUSoftmax 本节博文介绍四大激活函数&#xff0c;Sigmoid、Tanh、ReLU、Softmax。 激活函数 为什么深度学习需要激活函数&#xff1f; 博主认为&#xff0c;最重要的是 引入非线性。 神经网络是将众多神经元相互连接形成的网络。如果神经元没有激…

【Spring】Spring 启示录

一、OCP 开闭原则 核⼼&#xff1a;在扩展系统功能时不需要修改原先写好的代码&#xff0c;就是符合OCP原则的&#xff0c;反之修改了原先写好的代码&#xff0c;则违背了OCP原则的 若在扩展系统功能时修改原先稳定运⾏程序&#xff0c;原先的所有程序都需要进⾏重新测试&…

【RT-DETR有效改进】利用SENetV1重构化网络结构 (ILSVRC冠军得主)

👑欢迎大家订阅本专栏,一起学习RT-DETR👑 一、本文介绍 本文给大家带来的改进机制是SENet(Squeeze-and-Excitation Networks)其是一种通过调整卷积网络中的通道关系来提升性能的网络结构。SENet并不是一个独立的网络模型,而是一个可以和现有的任何一个模型相结合…

Spark Shuffle Service简介与测试

一 Dynamic Resource Allocation(动态资源分配) 了解Shuffle Service之前&#xff0c;我们需要先了解和Shuffle Service有关的另一个特性&#xff1a;动态资源分配。 Spark管理资源有两种方式&#xff1a;静态资源分配和动态资源分配。 静态资源分配&#xff1a;spark提交任…

FastAdmin青动CRM-E售后

应用介绍 一款基于FastAdminThinkPHP和uniapp开发的CRM售后管理系统&#xff0c;旨在助力企业销售售后全流程精细化、数字化管理&#xff0c;主要功能&#xff1a;客户、合同、工单、任务、报价、产品、库存、出纳、收费&#xff0c;适用于&#xff1a;服装鞋帽、化妆品、机械机…

数据描述的统计量解释-上

目录 一.导读 二.介绍 ①算数平均数 ②几何平均数 ③标准差 ④变异系数 ⑤分位数 ⑥方差 三.结尾 一.导读 在讲到数据描述的时候&#xff0c;我们提及了数据集中位置、离散程度、偏度和峰度以及单个数据变量的分布情况。而在这些当中&#xff0c;我们遇到了一些统计量…

机器学习系列——(十)支持向量机

一、背景 支持向量机&#xff08;Support Vector Machine&#xff0c;SVM&#xff09;是一种用于分类、回归和离群点检测等领域的监督学习方法。它最初由Vapnik和Cortes在1995年提出&#xff0c;被认为是机器学习领域中最成功的算法之一。 二、原理 2.1 线性SVM 我们先从最简…

openssl3.2 - use openssl cmd create ca and p12

文章目录 openssl3.2 - use openssl cmd create ca and p12概述笔记实验的openssl环境建立CA生成私钥和证书请求生成CA证书用CA签发应用证书用CA对应用证书进行签名将已经签名好的PEM证书封装为P12证书验证P12证书是否可用END openssl3.2 - use openssl cmd create ca and p12 …

Kafka系列(二)将消息数据写入Kafka系统--生产者【异步发送、同步发送、单线程发送、多线程发送、配置生产者属性、自定义序列化、自定义主题分区】

Kafka系列 发送消息到 Kafka 主题了解异步模式了解同步模式线程发送消息的步骤生产者用单线程发送消息生产者用多线程发送消息 配置生产者属性保存对象的各个属性一序列化序列化一个对象序列化对象的存储格式自己实现 序列化的步骤1. 创建序列化对象2. 编写序列化工具类3. 编写…

企业级大数据安全架构(九)FreeIPA管理员密码忘记后如何修改

作者&#xff1a;楼高 1重置Directory Server管理员密码 1.1停止directory server服务 [rootipa schema]# start-dirsrv HDP-HADOOP 如果你不知道你的实例名&#xff0c;可以通过如下方式获取 1.2生成一个新的HASH密码 停止服务后使用pwdhash命令生成一个新的HASH密码 [r…

HashMap的put和get流程

一、put流程图 首先进行哈希值的扰动&#xff0c;获取一个新的哈希值。(key null) ? 0 : (h key.hashCode()) ^ (h >>> 16); 判断tab是否位空或者长度为0&#xff0c;如果是则进行扩容操作。 if ((tab table) null || (n tab.length) 0)n (tab resize()).l…
最新文章