30秒CSS精华方法摘取分析,赏析,以及应用场景

举报
拿我格子衫来 发表于 2022/03/17 22:48:26 2022/03/17
【摘要】     网上有个30秒的项目,里面有很多简单封装的js方法以及 一些css的特殊效果封装.在这里我来为大家摘取其中几个写的很好,应用场景很高的方法,以此来抛砖引玉   创建圆形使用一个正方形并且设置border-radius:50%即可 清除浮动 在父节点 .clearfix::after{conte...

    网上有个30秒的项目,里面有很多简单封装的js方法以及 一些css的特殊效果封装.在这里我来为大家摘取其中几个写的很好,应用场景很高的方法,以此来抛砖引玉

 

创建圆形使用一个正方形并且设置border-radius:50%即可

清除浮动 在父节点 .clearfix::after{content:'',display:block,clear:both}

 

等宽高比 (给定可变宽度的元素,它将确保其高度以响应的方式保持成比例)


  
  1. <div class="constant-width-to-height-ratio"></div>
  2. .constant-width-to-height-ratio {
  3. background: #333;
  4. width: 50%;
  5. }
  6. .constant-width-to-height-ratio::before {
  7. content: '';
  8. padding-top: 100%;
  9. float: left;
  10. }
  11. .constant-width-to-height-ratio::after {
  12. content: '';
  13. display: block;
  14. clear: both;
  15. }

自定义滚动条:


  
  1. <div class="custom-scrollbar">
  2. <p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Iure id exercitationem nulla qui repellat laborum vitae, molestias tempora velit natus. Quas, assumenda nisi. Quisquam enim qui iure, consequatur velit sit?</p>
  3. </div>
  4. /* Document scrollbar */
  5. ::-webkit-scrollbar {
  6. width: 8px;
  7. }
  8. ::-webkit-scrollbar-track {
  9. box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
  10. border-radius: 10px;
  11. }
  12. ::-webkit-scrollbar-thumb {
  13. border-radius: 10px;
  14. box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.5);
  15. }
  16. /* Scrollable element */
  17. .some-element::webkit-scrollbar {
  18. }
自定义文本选择 使用伪类
::selection
 
设置选择的字体颜色,背景


自定义变量

  
  1. <p class="custom-variables">CSS is awesome!</p>
  2. :root {
  3. --some-color: #da7800;
  4. --some-keyword: italic;
  5. --some-size: 1.25em;
  6. --some-complex-value: 1px 1px 2px whitesmoke, 0 0 1em slategray, 0 0 0.2em slategray;
  7. }
  8. .custom-variables {
  9. color: var(--some-color);
  10. font-size: var(--some-size);
  11. font-style: var(--some-keyword);
  12. text-shadow: var(--some-complex-value);
  13. }
注(浏览器支持率 88.0 %)

禁用选择使用 
user-select: none;
 
环形加载器

  
  1. @keyframes donut-spin {
  2. 0% {
  3. transform: rotate(0deg);
  4. }
  5. 100% {
  6. transform: rotate(360deg);
  7. }
  8. }
  9. .donut {
  10. display: inline-block;
  11. border: 4px solid rgba(0, 0, 0, 0.1);
  12. border-left-color: #7983ff;
  13. border-radius: 50%;
  14. width: 30px;
  15. height: 30px;
  16. animation: donut-spin 1.2s linear infinite;
  17. }
渐变文本

  
  1. .gradient-text {
  2. background: -webkit-linear-gradient(pink, red);
  3. -webkit-text-fill-color: transparent;
  4. -webkit-background-clip: text;
  5. }
鼠标光标渐变跟踪



  
  1. <button class="mouse-cursor-gradient-tracking">
  2. <span>Hover me</span>
  3. </button>
  4. .mouse-cursor-gradient-tracking {
  5. position: relative;
  6. background: #7983ff;
  7. padding: 0.5rem 1rem;
  8. font-size: 1.2rem;
  9. border: none;
  10. color: white;
  11. cursor: pointer;
  12. outline: none;
  13. overflow: hidden;
  14. }
  15. .mouse-cursor-gradient-tracking span {
  16. position: relative;
  17. }
  18. .mouse-cursor-gradient-tracking::before {
  19. --size: 0;
  20. content: '';
  21. position: absolute;
  22. left: var(--x);
  23. top: var(--y);
  24. width: var(--size);
  25. height: var(--size);
  26. background: radial-gradient(circle closest-side, pink, transparent);
  27. transform: translate(-50%, -50%);
  28. transition: width 0.2s ease, height 0.2s ease;
  29. }
  30. .mouse-cursor-gradient-tracking:hover::before {
  31. --size: 200px;
  32. }
溢出滚动渐变
向溢出元素添加渐变以更好地指示有更多内容需要滚动。

使用一个相对定位的伪元素,背景色渐变,透明度.可以达到以下效果
此种效果使用重复的背景图片,相对定位到底部,即可实现



创建一个三角形可以使用
设置三条边


使一个dome全屏显示  document.getElementById('element').requestFullscreen()

使用:fullscreen来控制全屏状态下的样式

.element:fullscreen {
  background-color: #e4708a;
  width: 100vw;
  height: 100vh;
}

 

文章来源: fizzz.blog.csdn.net,作者:拿我格子衫来,版权归原作者所有,如需转载,请联系作者。

原文链接:fizzz.blog.csdn.net/article/details/100137057

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。