0


前端实用的20个css技巧

借问工资何时涨?好个曲终人散事渺茫。
本文在某金也有发文,推荐在某金观看,方便在线预览效果某金

1. 首字母大写(或其他样式处理)

::first-letter

伪类选择器用来指定元素第一个字母的样式。

jcode

2. 透明图片阴影

相信你一定用过

box-shadow

属性给盒子设置阴影吧,但是当你想要给透明图片添加阴影的时候,却看起来像加了个边框!这时候神奇的

drop-shadow

就派上用场了。

drop-shadow

的工作方式是,其遵循给给定图片的

Alpha

通道。因此阴影是基于图片的内部形状,而不是显示在图片外面。
jcode

3.镂空文字

因为

text-stroke

不是标准属性, 大多数情况要加上前缀

-webkit-text-stroke: 1px #1e80ff;

jcode

4.背景文字

利用

background-clip: text;

规定背景的绘制区域,再把文字颜色设置为透明实现。
jcode

5.填充文字效果

(如下鼠标悬浮体验效果)
jcode

6.网页灰度效果

grayscale(amount)

函数将改变输入图像灰度。amount 的值定义了灰度转换的比例。值为 100% 则完全转为灰度图像,值为 0% 图像无变化。若未设置值,默认值是 0。(如下鼠标悬浮体验效果)
jcode

7. flex布局最后一行左对齐

你在使用flex布局的时候有遇到过这种情况吗?

  1. 每行固定元素个数
  2. 每行元素都是space-between的效果(两端对齐,项目之间的间隔相等,即剩余空间等分成间隙)
  3. 最后一行元素需要靠左对齐

这时候我们可以采用以下3种方法:

方法1: 使用js补齐元素,例如,每行展示3个元素,现在一共有5个元素,那么我们就可以在最后补一个同宽度的透明元素。

方法2:

justify-content

设置为

space-between

实现两端对齐效果,最后一行再特殊处理:思路为选中最后一个元素,设置其右边距,挤到只能容纳最后一行元素的宽度。
jcode

方法3:

justify-content

设置为

flex-start

,先将全部元素左对齐,然后计算出每个元素的间距,通过

gap

设置元素间距(如果行列间距不同,可以用

column-gap

设置列间距,

row-gap

设置行间距),伪装实现两端对齐的效果。

注意:由于gap兼容性的问题,我们可以利用相同的思路,用maigin-right,margin-bottom代替gap设置元素间距,但是需要调整整体的位置,这里就不举例了。
jcode

8.毛玻璃背景效果

使用

backdrop-filter

filter

都可以写出高斯模糊的效果,但是两者使用起来还是有区别的,而且使用的目标也不同。

区别:

backdrop-filter

:使背景模糊,不会影响到背景下面的图片

filter

:通常是定义 img的可视效果,修改图片的模糊效果,值越大越模糊

我们这里实现毛玻璃效果就是使用了

backdrop-filter

属性。
jcode

9. 画三角形

css画三角形一般用border来做。
jcode

10. inline元素间的空白间隙

想必你也遇到过这种情况:行内元素排列的时候,明明没有边框,也没有间距,但就是有空隙。

其实间隙是由换行或者回车导致的,你可以将标签代码都写同一行即可解决。但是这样有点呆,我们可以通过设置父元素的

font-size

为0将空隙缩小到0。(如下鼠标悬浮体验效果)
jcode

11. 文字溢出省略

文字超出后显示省略号也是经常会用的样式。

单行文本溢出

overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
复制代码

多行文本溢出

display:-webkit-box;-webkit-box-orient: vertical;-webkit-line-clamp:3;overflow: hidden;

12. 列表除了最后一个元素都统一样式

一般这种情况,我们可以先全部统一样式,然后再单独设置最后一个元素样式覆盖公共样式。

也可以用 :not 选择器直接设置除了最后一个元素的样式。

:not(selector) 

选择器匹配每个元素是不是指定的元素/选择器。

//html<ul><li>第1个元素</li><li>第2个元素</li><li>第3个元素</li></ul>//cssli:not(:last-of-type){color: red;}

13. 内容为空提示

有这么一个场景:用户搜索后要展示所有帖子的长列表,搜索为空的时候要提示:没找到相关内容
比如我们在用vue做的时候,常常是用内容长度做判断显示不同内容,例如:

<div class="content" v-if="content" v-html="content"></div><div class="tip" v-else>没找到相关内容</div>

其实我们完全可以用

:empty

选择器处理内容为空时的展示样式。

empty 伪类选择器匹配没有子元素(包括文本节点,包括空格)的每个元素。
jcode

14. 设置placeholder样式

input::placeholder {color: #919191;//其他样式}input::-webkit-input-placeholder{color: #919191;//其他样式}

15. 隐藏滚动条

.element::-webkit-scrollbar {display: none;/* Chrome Safari */}

16. 文字不换行、自动换行、强制换行

//不换行
.wrap {
  white-space:nowrap;
}
//自动换行
.wrap {
  word-break: break-word;
  white-space: normal;
}
//强制换行
.wrap {
  word-break:break-all;
}

17. 禁止用户选择

div {-webkit-touch-callout: none;-webkit-user-select: none;-khtml-user-select: none;-moz-user-select: none;-ms-user-select: none;
  user-select: none;}

18. 固定宽高比的盒子

原理:padding设置百分比,是相对于父元素的宽度。

所以如果我们想要画一个长宽比为 m/n 的盒子时,只需要设置

padding-bottom

为:

    (
   
   
    元素宽度
   
   
    /
   
   
    父元素宽度
   
   
    )
   
   
    ∗
   
   
    (
   
   
    n
   
   
    /
   
   
    m
   
   
    )
   
  
  
   (元素宽度 / 父元素宽度)*(n / m)
  
 
(元素宽度/父元素宽度)∗(n/m)

jcode

19. 元素整体色调统一配置

currentcolor

顾名思义就是当前的颜色。它代表了当前元素被应用上的color颜色值。 使用它可以将当前这个颜色值应用到其他属性上,或者嵌套元素的其他属性上。

比如现在写个卡片,其文字颜色和边框颜色一致,我们就可以只设置它的

字体颜色

,然后内部用到这个颜色时直接使用

currentcolor

关键字即可。
jcode

20. 动画暂停

animation-play-state

可以控制动画状态
jcode

未完待续~ 点赞关注不要错过哦!

标签: 前端 css css3

本文转载自: https://blog.csdn.net/qq_38974163/article/details/128547124
版权归原作者 前端阿彬 所有, 如有侵权,请联系我们删除。

“前端实用的20个css技巧”的评论:

还没有评论