前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >30秒CSS精华方法摘取分析,赏析,以及应用场景

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

作者头像
拿我格子衫来
发布2022-01-24 10:06:26
5410
发布2022-01-24 10:06:26
举报
文章被收录于专栏:TopFETopFE

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

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

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

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

代码语言:javascript
复制
<div class="constant-width-to-height-ratio"></div>

.constant-width-to-height-ratio {
  background: #333;
  width: 50%;
}
.constant-width-to-height-ratio::before {
  content: '';
  padding-top: 100%;
  float: left;
}
.constant-width-to-height-ratio::after {
  content: '';
  display: block;
  clear: both;
}

自定义滚动条:

代码语言:javascript
复制
<div class="custom-scrollbar">
  <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>
</div>
/* Document scrollbar */
::-webkit-scrollbar {
  width: 8px;
}
::-webkit-scrollbar-track {
  box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.3);
  border-radius: 10px;
}
::-webkit-scrollbar-thumb {
  border-radius: 10px;
  box-shadow: inset 0 0 6px rgba(0, 0, 0, 0.5);
}
/* Scrollable element */
.some-element::webkit-scrollbar {
}
代码语言:javascript
复制
自定义文本选择 使用伪类
代码语言:javascript
复制
::selection
代码语言:javascript
复制
设置选择的字体颜色,背景


自定义变量
代码语言:javascript
复制
<p class="custom-variables">CSS is awesome!</p>

:root {
  --some-color: #da7800;
  --some-keyword: italic;
  --some-size: 1.25em;
  --some-complex-value: 1px 1px 2px whitesmoke, 0 0 1em slategray, 0 0 0.2em slategray;
}
.custom-variables {
  color: var(--some-color);
  font-size: var(--some-size);
  font-style: var(--some-keyword);
  text-shadow: var(--some-complex-value);
}
代码语言:javascript
复制
注(浏览器支持率 88.0 %)

禁用选择使用 
代码语言:javascript
复制
user-select: none;
代码语言:javascript
复制
环形加载器
代码语言:javascript
复制
@keyframes donut-spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.donut {
  display: inline-block;
  border: 4px solid rgba(0, 0, 0, 0.1);
  border-left-color: #7983ff;
  border-radius: 50%;
  width: 30px;
  height: 30px;
  animation: donut-spin 1.2s linear infinite;
}
代码语言:javascript
复制
渐变文本
代码语言:javascript
复制
.gradient-text {
  background: -webkit-linear-gradient(pink, red);
  -webkit-text-fill-color: transparent;
  -webkit-background-clip: text;
}
代码语言:javascript
复制
鼠标光标渐变跟踪
代码语言:javascript
复制
<button class="mouse-cursor-gradient-tracking">
  <span>Hover me</span>
</button>

.mouse-cursor-gradient-tracking {
  position: relative;
  background: #7983ff;
  padding: 0.5rem 1rem;
  font-size: 1.2rem;
  border: none;
  color: white;
  cursor: pointer;
  outline: none;
  overflow: hidden;
}
.mouse-cursor-gradient-tracking span {
  position: relative;
}
.mouse-cursor-gradient-tracking::before {
  --size: 0;
  content: '';
  position: absolute;
  left: var(--x);
  top: var(--y);
  width: var(--size);
  height: var(--size);
  background: radial-gradient(circle closest-side, pink, transparent);
  transform: translate(-50%, -50%);
  transition: width 0.2s ease, height 0.2s ease;
}
.mouse-cursor-gradient-tracking:hover::before {
  --size: 200px;
}
代码语言:javascript
复制
溢出滚动渐变
向溢出元素添加渐变以更好地指示有更多内容需要滚动。

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



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


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

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

代码语言:javascript
复制
.element:fullscreen {
  background-color: #e4708a;
  width: 100vw;
  height: 100vh;
}
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档