一些常用的css小技巧

本文汇总了20项实用的CSS技巧,包括隐藏文件、优化文本显示、使用属性选择器等,帮助开发者提升网页布局和样式的灵活性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 隐藏文件:

保证不会被搜索引擎认为是垃圾信息而被忽略;使屏幕阅读器不会忽略被隐藏的文字。

.text-hidden {
  display:block; 
  overflow: hidden;
  width: 0;
  height: 0;
}复制代码


2. 使容器内设置padding不会撑大容器本身宽高

div{
  box-sizing: border-box;
}复制代码

 


3.使超出宽度的文字以...隐藏

div{
  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
}复制代码

只能用于单行且必须设置宽高


4.清楚浮动的技巧

为父元素添上clearfix,简单好用

.clearfix:after {
  display: table;
  content: '';
  clear: both;
  overflow: hidden;
}
.clearfix {  
  *zoom: 1;
}复制代码

5.图像变灰

img {
  filter: grayscale(100%); 
  -webkit-filter: grayscale(100%); 
  -moz-filter: grayscale(100%); 
  -ms-filter: grayscale(100%); 
  -o-filter: grayscale(100%);
}复制代码


不用再多使用一张图片就可实现变灰效果


6.页面顶部阴影

body:before {
  content: "";  
  position: fixed;
  top: -10px;
  left: 0;
  width: 100%;
  height: 10px; 
  -webkit-box-shadow: 0px 0px 10px rgba(0,0,0,.8);
  -moz-box-shadow: 0px 0px 10px rgba(0,0,0,.8);
  box-shadow: 0px 0px 10px rgba(0,0,0,.8);  z-index: 100;
}复制代码

7.逗号分隔的列表

ul > li:not(:last-child)::after {
    content: ",";
}复制代码


8. 优化显示文本
有时,字体并不能在所有设备上都达到最佳的显示,所以可以让设备浏览器来帮助你:

html { 
  -moz-osx-font-smoothing: grayscale;  
  -webkit-font-smoothing: antialiased; 
  text-rendering: optimizeLegibility;
}复制代码
注:IE /Edge不支持 text-rendering


9. 使用属性选择器用于空链接
当a元素没有文本值,但 href 属性有链接的时候显示链接:

a[href^="http"]:empty::before {
  content: attr(href);
}复制代码

10. CSS3 calc() 的使用
calc() 用法类似于函数,能够给元素设置动态的值:

.complexBlock {
  width: calc(100% - 50% / 3);
  padding: 5px calc(3% - 2px);
  margin-left: calc(10% + 10px);
}复制代码

11. 禁用鼠标事件

CSS3 新增的 pointer-events 让你能够禁用元素的鼠标事件,例如,一个链接如果设置了下面的样式就无法点击了。

.noclick { pointer-events: none; }复制代码

12. 一个p标签,左右两条线用before和after画出来

p{  
  text-align: center;
}

p:after, 
p:before{  
  content: "";  
  position: absolute;  
  top:10px;  
  height: 1px; 
  background: red; 
  width: 200px
}

p:after{  
  left: 0;
}

p:before{  
  right:0;
}复制代码



13.计数器

<div class="choose">
  <label><input type="checkbox">111</label>
  <label><input type="checkbox">222</label>
  <label><input type="checkbox">333</label>
  <label><input type="checkbox">444</label>
  <label><input type="checkbox">555</label>
</div>
<p class="count"></p>复制代码

.choose{
  counter-reset: fruit;
}

.choose input:checked{
  counter-increment: fruit;
}

.count:before{
  content: counter(fruit);
}复制代码



14.user-select 禁止用户选中文本

div {
    user-select: none;
}复制代码


15.清除手机tap事件后出现的一个高亮

* {
    -webkit-tap-highlight-color: rgba(0,0,0,0);
}复制代码

16.触摸屏当中的元素滚动

如果你需要在触摸屏当中为一些元素设置内滚动,那么你不仅需要overflow: scroll / auto ,还需要-webkit-overflow-scrolling: touch;
移动端浏览器在某些时候并不能正确执行overflow: scroll / auto ,它可能会滚动整个页面而不是你想要的那部分。-webkit-overflow-scrolling解决了这个问题,你可以在你的实际项目中体验一下。


17.使用硬件加速

有时候动画可能会导致用户的电脑卡顿,可以在特定元素中使用硬件加速来避免这个问题:

.block {
    transform: translateZ(0);
}复制代码
浏览器会为这个元素进行3D硬件加速。


18.鼠标移入有白光扫过的按钮

button{
  width: 200px;
  height: 50px;
  border-radius: 4px;
  background: #ea6f5a;
  border: none;
  color: #fff;
  position: relative;
}

button:after{
  background: #fff;
  content:"";
  position: absolute;
  width: 50px;
  height: 155px; 
  left: -70px;
  top: -60px;
  opacity: .3;
  transform: rotate(40deg);
  transition: all 1.4s cubic-bezier(0.2, 1, 0.2, 1);
}

button:hover:after{
  left: 60%;
}复制代码



19.css绘制三角小图标

.arrow {  
  width:0px;  
  height:0px;  
  border-left:10px solid transparent;   
  border-right:10px solid transparent;   
  border-bottom:10px solid red; 
  font-size:0px;  line-height:0px;
}复制代码
通过改变边的值来修改小三角指向的方向


20.页面居中弹出层

.popup{  
  position: fixed;  
  margin: auto;  
  top:0; 
  left: 0; 
  right: 0;
  bottom:0;
  z-index:1;
}复制代码

可使弹出层绝对居中于屏幕,记得给你的弹出层设定宽高

                                                                                         


                                                                                          to be continued...


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值