十几个CSS高级常见技巧汇总(虚线框、三角形、优惠券卡券、滚动条、多行溢出

先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7

深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Web前端全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新

如果你需要这些资料,可以添加V获取:vip1024c (备注前端)
img

正文

1-2. 单行和多行文本超出省略号

// 单行文本出现省略号

width: 300px;

overflow: hidden;

text-overflow: ellipsis;

white-space: nowrap;

word-break: break-all;

// 多行文本出现省略号

display: -webkit-box; /重点,不能用block等其他,将对象作为弹性伸缩盒子模型显示/

-webkit-box-orient: vertical; /从上到下垂直排列子元素(设置伸缩盒子的子元素排列方式)/

-webkit-line-clamp: 3; /行数,超出三行隐藏且多余的用省略号表示…/

line-clamp: 3;

word-break: break-all;

overflow: hidden;

max-width: 100%;

单行溢出:《ECMAScript 6 入门教程》是一本开源的 JavaScript 语言教程,

全面介绍 ECMAScript 6 新引入的语法特性。

多行溢出:《ECMAScript 6 入门教程》是一本开源的 JavaScript 语言教程,

全面介绍 ECMAScript 6 新引入的语法特性。本书覆盖 ES6 与上一个版本 ES5 的所有不同之处,

对涉及的语法知识给予详细介绍,并给出大量简洁易懂的示例代码。

/容器/

.container {

width: 300px;

height: 200px;

margin: 100px;

padding: 20px;

border: 1px solid #eee;

font-size: 13px;

color: #555;

}

.c-red {

color: red;

}

p {

background-color: rgba(189, 227, 255, 0.28);

padding: 2px 5px;

}

/单行/

.single {

width: 300px;

overflow: hidden;

text-overflow: ellipsis;

white-space: nowrap;

word-break: break-all;

}

/多行/

.mutiple {

display: -webkit-box; /重点,不能用block等其他,将对象作为弹性伸缩盒子模型显示/

-webkit-box-orient: vertical; /从上到下垂直排列子元素(设置伸缩盒子的子元素排列方式)/

-webkit-line-clamp: 3; /行数,超出三行隐藏且多余的用省略号表示…/

line-clamp: 3;

word-break: break-all;

overflow: hidden;

max-width: 100%;

}

d9173ddf0bc1158ad8d9f5a28625acd4.png

效果1

1-3. 负边距使用技巧

规律: 左为负时,是左移,右为负时,是右拉。上下与左右类似

*{

margin:0;

padding:0;

}

.wrap{

/* 利用负值技巧进行整体移动 */

margin-left:-6px;

}

.item{

float:left;

width: 20%;

height: 300px;

border-left:6px solid #fff;

box-sizing: border-box;

}

19c4d4d6b88c9d433bf25e413e666bce.pngb1b8a95b4ee808045b2d5dd6079b5881.png

1-4. 定位同时设置方位情况

规律: 绝对定位和固定定位时,同时设置 left 和 right 等同于隐式地设置宽度

span{

border:1px solid red;

position: absolute;

left:0;

right:0;

/* 等同于设置  width:100%;display:block */

}

1

1-5. 相邻兄弟选择器之常用场景

ul{

width: 500px;

margin:auto;

list-style: none;

padding:0;

border:1px solid red;

text-align: center;

}

li+li{

border-top:1px solid red;

}

    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • d884b66d43bc78081c6297e2e632a28b.png

      效果ul

      1-6. outline属性的妙用技巧

      区别: outline不计算大小 border计算大小

      * {

      padding: 0;

      margin: 0;

      }

      ul {

      list-style: none;

      width: 600px;

      margin: auto;

      }

      li {

      padding: 10px;

      border: 10px solid pink;

      outline-offset: -10px;

      }

      li+li{

      margin-top:-10px;

      }

      li:hover{

      /* border:10px solid gold; */

      outline:10px solid gold;

      }

      • 1
      • 2
      • 3
      • 4
      • 5
      • 6
      • 85330cd79e7bf338f067c07b1328a6a4.png3b45537eb8cb902c9c26a4f024280eb3.png

        1-7. 隐藏滚动条或更改滚动条样式

        .scroll-container {

        width: 500px;

        height: 150px;

        border: 1px solid #ddd;

        padding: 15px;

        overflow: auto;     /必须/

        }

        .scroll-container::-webkit-scrollbar {

        width: 8px;

        background: white;

        }

        .scroll-container::-webkit-scrollbar-corner,

        /* 滚动条角落 */

        .scroll-container::-webkit-scrollbar-thumb,

        .scroll-container::-webkit-scrollbar-track {      /滚动条的轨道/

        border-radius: 4px;

        }

        .scroll-container::-webkit-scrollbar-corner,

        .scroll-container::-webkit-scrollbar-track {

        /* 滚动条轨道 */

        background-color: rgba(180, 160, 120, 0.1);

        box-shadow: inset 0 0 1px rgba(180, 160, 120, 0.5);

        }

        .scroll-container::-webkit-scrollbar-thumb {

        /* 滚动条手柄 */

        background-color: #00adb5;

        }

        庭院深深,不知有多深?杨柳依依,飞扬起片片烟雾,一重重帘幕不知有多少层。豪华的车马停在贵族公子寻欢作乐的地方,她登楼向远处望去,却看不见那通向章台的大路。春已至暮,三月的雨伴随着狂风大作,再是重门将黄昏景色掩闭,也无法留住春意。泪眼汪汪问落花可知道我的心意,落花默默不语,纷乱的,零零落落一点一点飞到秋千外。庭院深深,不知有多深?杨柳依依,飞扬起片片烟雾,一重重帘幕不知有多少层。豪华的车马停在贵族公子寻欢作乐的地方,她登楼向远处望去,却看不见那通向章台的大路。春已至暮,三月的雨伴随着狂风大作,再是重门将黄昏景色掩闭,也无法留住春意。泪眼汪汪问落花可知道我的心意,落花默默不语,纷乱的,零零落落一点一点飞到秋千外。庭院深深,不知有多深?杨柳依依,飞扬起片片烟雾,一重重帘幕不知有多少层。豪华的车马停在贵族公子寻欢作乐的地方,她登楼向远处望去,却看不见那通向章台的大路。春已至暮,三月的雨伴随着狂风大作,再是重门将黄昏景色掩闭,也无法留住春意。泪眼汪汪问落花可知道我的心意,落花默默不语,纷乱的,零零落落一点一点飞到秋千外。庭院深深,不知有多深?杨柳依依,飞扬起片片烟雾,一重重帘幕不知有多少层。豪华的车马停在贵族公子寻欢作乐的地方,她登楼向远处望去,却看不见那通向章台的大路。春已至暮,三月的雨伴随着狂风大作,再是重门将黄昏景色掩闭,也无法留住春意。泪眼汪汪问落花可知道我的心意,落花默默不语,纷乱的,零零落落一点一点飞到秋千外。

        f5d5f91fcf4c2daf2a10d62a8d7a92c4.png

        scrollbar

        1-8. 纯CSS绘制三角形

        /* 正三角 */

        .up-triangle {

        width: 0;

        height: 0;

        border-style: solid;

        border-width: 0 25px 40px 25px;

        border-color: transparent transparent rgb(245, 129, 127) transparent;

        }

        /* 倒三角 */

        .down-triangle {

        width: 0;

        height: 0;

        border-style: solid;

        border-width: 40px 25px 0 25px;

        border-color:  rgb(245, 129, 127) transparent transparent transparent;

        }

        div:last-child {

        margin-top: 1rem;

        }

        ef30c3ceda08f01b66c94c051df5ddb4.png

        三角形

        1-9. 虚线框绘制技巧

        .dotted-line {

        width: 800px;

        margin: auto;

        padding: 20px;

        border: 1px dashed transparent;

        background: linear-gradient(white, white) padding-box, repeating-linear-gradient(-45deg, red 0, #ccc .25em, white 0, white .75em);

        }

        庭院深深,不知有多深?杨柳依依,飞扬起片片烟雾,一重重帘幕不知有多少层。

        ef7e8cb304e67b4b8ecc54b837139697.png

        虚线

        1-10. 卡券效果制作

        .coupon {

        width: 300px;

        height: 100px;

        line-height: 100px;

        margin: 50px auto;

        text-align: center;

        position: relative;

        background: radial-gradient(circle at right bottom, transparent 10px, #ffffff 0) top right /50% 51px no-repeat,

        radial-gradient(circle at left bottom, transparent 10px, #ffffff 0) top left / 50% 51px no-repeat,

        radial-gradient(circle at right top, transparent 10px, #ffffff 0) bottom right / 50% 51px no-repeat,

        radial-gradient(circle at left top, transparent 10px, #ffffff 0) bottom left / 50% 51px no-repeat;

        filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, .2));

        }

        .coupon span {

        最后

        如果你已经下定决心要转行做编程行业,在最开始的时候就要对自己的学习有一个基本的规划,还要对这个行业的技术需求有一个基本的了解。有一个已就业为目的的学习目标,然后为之努力,坚持到底。如果你有幸看到这篇文章,希望对你有所帮助,祝你转行成功。

        网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

        需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注前端)
        img

        一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
        ent(circle at left top, transparent 10px, #ffffff 0) bottom left / 50% 51px no-repeat;

        filter: drop-shadow(2px 2px 2px rgba(0, 0, 0, .2));

        }

        .coupon span {

        最后

        如果你已经下定决心要转行做编程行业,在最开始的时候就要对自己的学习有一个基本的规划,还要对这个行业的技术需求有一个基本的了解。有一个已就业为目的的学习目标,然后为之努力,坚持到底。如果你有幸看到这篇文章,希望对你有所帮助,祝你转行成功。

        网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

        需要这份系统化的资料的朋友,可以添加V获取:vip1024c (备注前端)
        [外链图片转存中…(img-rtjZB26N-1713482946310)]

        一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

      • 1
        点赞
      • 0
        收藏
        觉得还不错? 一键收藏
      • 0
        评论
      评论
      添加红包

      请填写红包祝福语或标题

      红包个数最小为10个

      红包金额最低5元

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

      抵扣说明:

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

      余额充值