【开发】css 小伎俩

移动端通过rem布局,当文字已经缩小到最小的12px了,已经没有办法再缩小了,可以通过增加宽度,让文字尽可能地排到一行,然后通过transform:scale()来对它进行缩小,最终达到设计图的效果


    width: 140%;
    transform:scale(0.8)
### **1.当设计图很小,而要摆放的文字很多,**

​	字体已经是最小的12px的时候,	保证父元素的宽度,子元素先扩宽宽度,让内容尽量并排显示,再通过transform:scale()属性去进行缩放

### **2.怎么画曲线**

画曲线一般用到radial-gradient这个属性

### **3.怎么画直线**

最好是用::before和::after这两个伪类去画直线,或者画三角形也可以用伪类元素,或者其他一些小标记都可以用伪类来实现


// 用伪类画一条直线
        .line-item::before{
            content:'';/* 必不可少的一部分*/
            display: block;
            width: 30px;
            height:1px;
            background:#000;
        }  
    <div class="line-item"></div>
 
 // 用伪类画一个三角形
 
    p::after{
        content:'';
        /* display: block; */
        border:20px solid transparent;
        border-top:20px solid #ccc;
    }
  
  // 只需要这条语句就可以了
 <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" content="伪类写三角形">
    <title>Document</title>
    <style>
    div{
        width:200px;
        height:100px;
        position: relative;
        margin:50px auto;
        border:1px solid black;
    }
    div:before{
        content:"";
        border:10px solid transparent;
        border-bottom-color:black;
        position:absolute;
        left:20px;
        top:0;
        margin-top:-20px;

    }
    div:after{
        content:"";
        border:10px solid transparent;
        border-bottom-color:white;
        position: absolute;
        top:0;
        left:20px;
        margin-top:-19px;
    }

    </style>
</head>
<body>
    <div></div>
</body>
</html>



[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-t5tEQtm4-1618281779404)(C:\Users\wangboqing\AppData\Roaming\Typora\typora-user-images\image-20210402144515537.png)]

效果图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-JRr2Gfrb-1618281779406)(C:\Users\wangboqing\AppData\Roaming\Typora\typora-user-images\image-20210402145856175.png)]

### **4.transition 设定属性过渡,怎么设置属性变化过去然后再变化回来**

// 注意一般的写法是将transition写在元素里面,transform写在一个触发的样式里,一般通过hover或者js事件来触发


        ul,li,ol{
            list-style:none;            
        }
        .items{
            display: flex;
        }
        .item{
            width: 200px;
            height: 200px;
            background-color:goldenrod;
            margin-right:20px;
            font-size: 30px;
            text-align: center;
            line-height:200px;
            transition: all .5s ease;
        }
        .item.active{
            transform: scale(0.5);
        }

    <ul class = "items">
        <li class="item">1</li>
        <li class="item">2</li>
        <li class="item">3</li>
        <li class="item">4</li>
        <li class="item">5</li>
    </ul>
    
    
        <script src="./common/js/jquery.min.js"></script>

        // 实现鼠标移入,引起样式变化,但是一段时间后就恢复到原来的样式,类似于hover
        $('.items .item').on('mouseenter',function(){
            $(this).toggleClass('active')
            // that.toggleClass('active')
            setTimeout(()=>{
                $(this).toggleClass('active')
            },300)
        })




**鼠标移入(hover)引起的样式变化,把样式写在hover里,把transition写在元素的样式中**

### **5.setTimeout() 和timeSetInterval()** 的this指向问题

1.**它们的this指向默认指向外层的window对象**

**但是可以通过写成**

**setTimeout(()=>{**

​	**这个时候内部的this就会指向调用它的对象**

**})**



2. 类似于vue里面的一种东西,默认的指向是window,但是可以在进入这个函数或者队列之前重新定义this指向


               let that = $(this)
               setTimeout(function(){
                   // console.log(1)
                   // console.log(that.children())
                   that.children('img').removeClass('active')
   
               },1000)


   

### 6.怎么设置文本文字间的间隙和开头空两格



开头空格用text-indent

文字间的间隙用letter-spacing



### 7.当子元素的margin和父元素的margin重叠

给父元素添加一个border-top:1px solid transparent;



### 8.怎么设置省略号


    p{
        width: 100px;
        height: 20px;
        line-height: 20px;
        overflow: hidden;
        white-space: nowrap;
        text-overflow: ellipsis;
    }
    // 元素必须要有宽度,超过部分隐藏,不换行






 9.内容太多导致横向出现滚动条


html {
  overflow-y: scroll;
}

:root {
  overflow-y: auto;
  overflow-x: hidden;
}

:root body {
  position: absolute;
}

body {
  width: 100vw;
  overflow: hidden;
}


10.当你使用flex布局的时候,最后一行怎么进行左对齐?

### 最后一行如果是两个元素呢,你又怎么对齐间隙?




.yhjc>.content::after{
    content:'';
    display: block;
    flex:.75;
}


11.当你的网页里面含有video标签时,光添加loop=“loop” 和autoplay = "autoplay"仍旧无法自动播放

的时候需要在标签添加muted = "muted"



### ps:

**z-index好像只有对定位的元素才有用**

**要重复触发的效果千万不要用mouseout,只会触发第一次**

**要重复变化的样式尽量不要通过css()去设置**



 12.注意在用getElementsByClassName、getElementsById、getElementsByTagName去选中元素的时候,
 需要加上[index]下标。因为这三个获取方法获取到的是一个数组,指定下标才能获取到对应的元素,否则会报错





13.禁止用户拖拽图片:

1.img标签上可以加上draggable = "false"

2.全局样式写上 


img{
    /* draggable:false; */
    
    -webkit-user-drag: none;
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
校园失物招领系统管理系统按照操作主体分为管理员和用户。管理员的功能包括字典管理、论坛管理、公告信息管理、失物招领管理、失物认领管理、寻物启示管理、寻物认领管理、用户管理、管理员管理。用户的功能等。该系统采用了Mysql数据库,Java语言,Spring Boot框架等技术进行编程实现。 校园失物招领系统管理系统可以提高校园失物招领系统信息管理问题的解决效率,优化校园失物招领系统信息处理流程,保证校园失物招领系统信息数据的安全,它是一个非常可靠,非常安全的应用程序。 ,管理员权限操作的功能包括管理公告,管理校园失物招领系统信息,包括失物招领管理,培训管理,寻物启事管理,薪资管理等,可以管理公告。 失物招领管理界面,管理员在失物招领管理界面中可以对界面中显示,可以对失物招领信息的失物招领状态进行查看,可以添加新的失物招领信息等。寻物启事管理界面,管理员在寻物启事管理界面中查看寻物启事种类信息,寻物启事描述信息,新增寻物启事信息等。公告管理界面,管理员在公告管理界面中新增公告,可以删除公告。公告类型管理界面,管理员在公告类型管理界面查看公告的工作状态,可以对公告的数据进行导出,可以添加新公告的信息,可以编辑公告信息,删除公告信息。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值