zoukankan      html  css  js  c++  java
  • CSDN网站阅读更多:实现原理

    一 设计案例

    现在很多网站都增加了阅读更多功能。以CSDN为例,分析其实现原理。

    二 设计原理

    1 内容区的初始高度是固定的。

    2 背景渐变的操作区,遮盖在内容区上面

    3 点击按钮时,解除内容区的高度限制,同时移除操作区

    三 模拟实现

     1 <!DOCTYPE html>
     2 <html lang="en">
     3   <head>
     4     <meta charset="UTF-8" />
     5     <meta name="viewport" content="width=device-width, initial-scale=1.0" />
     6     <meta http-equiv="X-UA-Compatible" content="ie=edge" />
     7     <title>Document</title>
     8     <style type="text/css">
     9       .box {
    10         position: relative;
    11         width: 600px;
    12       }
    13       .box.partial {
    14         height: 96px;
    15         overflow: hidden;
    16       }
    17       .opts {
    18         position: relative;
    19         z-index: 10;
    20         margin-top: -72px;
    21         padding-top:72px;
    22         background-image: -webkit-gradient(
    23           linear,
    24           left top,
    25           left bottom,
    26           from(rgba(255, 255, 255, 0)),
    27           color-stop(70%, #fff)
    28         );
    29         background-image: linear-gradient(
    30           -180deg,
    31           rgba(255, 255, 255, 0) 0%,
    32           #fff 70%
    33         );
    34       }
    35     </style>
    36   </head>
    37   <body>
    38     <!-- 内容区 -->
    39     <div id="box" class="box partial">
    40       iPhone在中国季度销量增长超过华为
    41       最新的报告中指出,相比去年12月份,iPhone在国内的销量已经出现了明显逆转,而苹果还是中国3大智能手机厂商中(华为、小米和OPPO),唯一一家在3月份实现月度用户基数增长的公司,这与2018年3月份的情况截然不同。
    42       截至今年3月底iPhone在中国的用户基数为20.9%,正在缩小与华为的领先优势,而苹果增长的趋势将一直持续到今年上半年(3月份iPhone在中国的出货量14个百分点,仅同比下滑6%,要知道今年2月份,iPhone在中国的出货量暴降了20%,是6年来最低水平。)。
    43       为何销量突然提升?并非偶然
    44       对于苹果来说,iPhone销量在中国市场突然提升并非偶然,因为从根本上来说,他们用降价刺激了消费者。3月份,苹果完成了对iPhone
    45       XS和iPhone XS
    46       Max的降价,当然这个操作依然是通过第三方渠道来完成,这样可以把对品牌的伤害降低到最小。
    47     </div>
    48 
    49     <!-- 操作区 -->
    50     <div id="opts" class="opts">
    51       <button id="btn" class="btn">更多</button>
    52     </div>
    53 
    54     <!-- 脚本 -->
    55     <script>
    56       document.getElementById("btn").addEventListener(
    57         "click",
    58         e => {
    59           // 展开内容区
    60           let box = document.getElementById("box");
    61           box.classList.remove("partial");
    62 
    63           // 移除操作区
    64           let opts = document.getElementById("opts");
    65           document.body.removeChild(opts);
    66         },
    67         false
    68       );
    69     </script>
    70   </body>
    71 </html>

  • 相关阅读:
    用JLabel显示时间-- JAVA初学者遇到的一个困难
    linux下观看b站视频,解决字体乱码
    fedora21 codeblocks在编辑装态下无法输入
    fedora21安装无线驱动
    Hdu 1053 Entropy
    linux下的压缩解压命令 tar 的简单描述
    表的截断、删除、创建
    列的维护
    非分区表的重组
    创建高效且易于管理的表以及表的管理和维护
  • 原文地址:https://www.cnblogs.com/sea-breeze/p/10700081.html
Copyright © 2011-2022 走看看