zoukankan      html  css  js  c++  java
  • 前端用户体验优化: JS & CSS 各类效果代码段

    前言

    可控密度的虚线分隔线 css

    
    .line {
        height: 1px;
         100%;
        transform: scaleY(0.4);
        -webkit-transform: scaleY(0.4);
        background-image: linear-gradient(to right, #ccc 0%, #ccc 50%, transparent 50%);
        background-size: 4px 1px;
        background-repeat: repeat-x;
    }
    
    • 通过更改background-size值控制密度展示
    • 通过各属性x,y及方向转换实现横/纵向不同的分隔线

    文字渐隐 css

    
    .article{
        position: relative;
    }
    
    .mask{
        position: absolute;
        100%;
        bottom:0;
        left: 0;
        height: 60px;
        background: linear-gradient(top, rgba(255,255,255,0), #fff);
        background: -webkit-linear-gradient(top, rgba(255,255,255,0), #fff);
    }
    
        春眠不觉晓<br />
        处处闻啼鸟<br />
        夜来风雨声<br />
        花落知多少
        <div class="mask"></div>
    </div>
    
    • 引导用户下方仍有内容,即将接近底部时div.mask隐藏

    弹窗禁止/恢复背景层滚动 css+js

    
    window.onload = function(){
        document.getElementById('modalBtn').onclick = function (){switchModalStatus(true)};
        document.getElementById('modal').onclick = function (){switchModalStatus(false)};
    }
    
    function switchModalStatus(needShow){
        var modal = document.getElementById('modal');
        if(needShow){
            modal.style.display = 'block';
            disableBodyScroll();
        }else{
            modal.style.display = 'none';
            enableBodyScroll();
        }
    }
    
    function disableBodyScroll() {
        var body =  document.body;
        window.stTemp = Math.max(body.scrollTop, document.documentElement.scrollTop);
        body.style.overflow = "hidden";
        body.style.position = "fixed";
        body.style.top = (-window.stTemp+'px');
    }
    
    function enableBodyScroll() {
        var body =  document.body;
        body.style.overflow = "scroll";
        body.style.position = "static";
        body.style.top = '0px';
        body.scrollTop = window.stTemp;
        document.documentElement.scrollTop = window.stTemp;
    }
    
    
    .modal{
        position: fixed;
        top: 0;
        left: 0;
         100%;
        height: 100%;
        background: rgba(0, 0, 0, .5);
        z-index: 1;
    }
    
    .modal > .content{
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translateX(-50%) translateY(-50%);
        -webkit-transform: translateX(-50%) translateY(-50%);
        padding: 10px;
         50%;
        background: white;
        border-radius: 12px;
    }
    
    <div id="modal" class="modal" style="display:none">
        <div class="content">我是弹窗</div>
    </div>
    

    多行文字溢出显示省略号 css

    
    .text {
        text-align: left;
        display: -webkit-box;
        -webkit-line-clamp: 2;
        -webkit-box-orient: vertical;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    
    
    
    • -webkit-line-clamp控制显示的行数

    原文地址:https://segmentfault.com/a/1190000016879135

  • 相关阅读:
    51nod 1050 循环数组最大子段和
    51nod 1183 编辑距离
    百度之星初赛一 补题
    jquery click嵌套 事件重复注册 多次执行的问题
    Shell变量赋值语句不能有空格
    Linux得到某个文件夹内文件的个数
    Ubuntu14.04下sogou输入法的输入框只显示英文不显示中文的问题
    Eclipse中mybatis的xml文件没有提示,出现the file cannot be validated as the XML definition.....
    整理一下postgresql的扩展功能postgis和pgrouting的使用
    Windows应用程序未响应
  • 原文地址:https://www.cnblogs.com/lalalagq/p/9902170.html
Copyright © 2011-2022 走看看