常用CSS样式

常用CSS样式

1.文字超出部分显示省略号
单行文字

width:200rpx;
overflow: hidden;
text-overflow:ellipsis;
white-space: nowrap;

指定显示多少行

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

2.中英文自动换行
word-break:all-all;只对英文操作,以文字作为换行信息
自动换行:断字;只对英文使用,以作为换行说明

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

3.设置placeholder的字体样式

input::-webkit-input-placeholder { /* Chrome/Opera/Safari */
  color: pink;
}
input::-moz-placeholder { /* Firefox 19+ */
  color: pink;
}
input:-ms-input-placeholder { /* IE 10+ */
  color: pink;
}
input:-moz-placeholder { /* Firefox 18- */
  color: pink;
}
注意:设置placeholder的字体大小时须给input也设置相同字体大小,否则在移动端会有bug出现。

4.不固定高宽div垂直居中的方法
伪元素和 inline-block / vertical-align(兼容 IE8)

.box-a{
      text-align: center
}
.box-a:before {
      content: '';
      display: inline-block;
      height: 100%;
      vertical-align: middle;
      margin-right: -0.25em; //微调整空格
}
.box {
     display: inline-block;
     vertical-align: middle;
}

flex(不兼容 ie8 以下)

.box-a {
     width:100%;
     height:300px;
     background:rgba(0,0,0,0.7);
     position:relative;
}
.box{
    position:absolute;
    left:50%;
    top:50%;
    transform:translateX(-50%) translateY(-50%);
    -webkit-transform:translateX(-50%) translateY(-50%);
}

设置 margin:auto(该方法得严格意义上的非固定宽高,而是 50%的父级的宽高。)

.box-a {
    position: relative;
    width:100%;
    height:300px;
    background-color:#f00;
}
.box-content{
    position: absolute;
    top:0;
    left:0;
    bottom:0;
    right:0;
    width:50%;
    height:50%;
    margin:auto;
    background-color:#ff0;
}

5.解决IOS页面跳卡顿

body,html{
    -webkit-overflow-scrolling: touch;
}

6.设置滚动条样式

.test::-webkit-scrollbar{
  /*滚动条整体样式*/
  width : 10px;  /*高宽分别对应横竖滚动条的尺寸*/
  height: 1px;
}
.test::-webkit-scrollbar-thumb {
  /*滚动条里面小方块*/
  border-radius   : 10px;
  background-color: skyblue;
  background-image: -webkit-linear-gradient(
      45deg,
      rgba(255, 255, 255, 0.2) 25%,
      transparent 25%,
      transparent 50%,
      rgba(255, 255, 255, 0.2) 50%,
      rgba(255, 255, 255, 0.2) 75%,
      transparent 75%,
      transparent
  );
}
.test::-webkit-scrollbar-track {
  /*滚动条里面轨道*/
  box-shadow   : inset 0 0 5px rgba(0, 0, 0, 0.2);
  background   : #ededed;
  border-radius: 10px;
}

7.实现隐藏滚动条同时又可以滚动

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

.demo {
  scrollbar-width: none; /* firefox */
  -ms-overflow-style: none; /* IE 10+ */
  overflow-x: hidden;
  overflow-y: auto;
}

8.CSS吸气(三角形)
div {
width: 0;
height: 0;
border-width: 0 40px 40px;
border-style: solid;
border-color: transparent transparent red;
}
9.Table表格合并合并

table,tr,td{
  border: 1px solid #666;
}
table{
  border-collapse: collapse;
}

10.文字之间的关键
text-indent 抬头距离,letter-spacing字与字键。

p{
  text-indent:10px;//单词抬头距离
  letter-spacing:10px;//间距
}

11.元素占满整个屏幕
高度如果使用100%,会根据父级的高度来决定,所以使用100vh单位。

.dom{
  width:100%;
  height:100vh;
}

12.实现文字竖向排版

// 单列展示时
.wrap {
    width: 25px;
    line-height: 18px;
    height: auto;
    font-size: 12px;
    padding: 8px 5px;
    word-wrap: break-word;/*英文的时候需要加上这句,自动换行*/ 
}
// 多列展示时
.wrap {
    height: 210px;
    line-height: 30px;
    text-align: justify;
    writing-mode: vertical-lr;  //从左向右    
    writing-mode: tb-lr;        //IE从左向右
    //writing-mode: vertical-rl;  -- 从右向左
    //writing-mode: tb-rl;        -- 从右向左
}

13.字母大小写转换

p {text-transform: uppercase}  // 将所有字母变成大写字母
p {text-transform: lowercase}  // 将所有字母变成小写字母
p {text-transform: capitalize} // 首字母大写
p {font-variant: small-caps}   // 将字体变成小型的大写字母

14.移除一个标签被点链接的边框

a {
  outline: none;//或者outline: 0
  text-decoration:none; //取消默认下划线
}

14.将一个容器化为透明

.wrap { 
  filter:alpha(opacity=50); 
  -moz-opacity:0.5; 
  -khtml-opacity: 0.5; 
  opacity: 0.5; 
}

15.让div里的图片和文字同时上下居中

.wrap {
  height: 100,
  line-height: 100
}
img {
  vertival-align:middle
}

16.transfrom的rotate属性在span标签下失效

span {
  display: inline-block
}

17.css加载动画

div class="loader"></div>
<style>
.loader {
  border: 16px solid #f3f3f3;
  border-radius: 50%;
  border-top: 16px solid #3498db;
  width: 80px;
  height: 80px;
  -webkit-animation: spin 2s linear infinite;
  animation: spin 2s linear infinite;
}

@-webkit-keyframes spin {
  0% { -webkit-transform: rotate(0deg); }
  100% { -webkit-transform: rotate(360deg); }
}

@keyframes spin {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(360deg); }
}
</style>

18.文字渐变效果实现

<div class="text_signature " > 有课前端网,一个专门学习前端知识的网站</div>
<style>
.text_signature {
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-image: linear-gradient(to right, #ec2239, #40a4e2,#ea96f5);
    width: 320px;
}
</style>

19.好看的边框

<div class="text_shadow"></div>
<style> 
.text_shadow{
  width:500px;
  height:100px;
  box-shadow: 0px 0px 13px 1px rgba(51, 51, 51, 0.1);
}
</style>

20.全屏背景图片的实现

.swper{
  background-image: url(./img/bg.jpg);
  width:100%;
  height:100%;//父级高不为100%请使用100vh
  zoom: 1;
  background-color: #fff;
  background-repeat: no-repeat;
  background-size: cover;
  -webkit-background-size: cover;
  -o-background-size: cover;
  background-position: center 0;
}

21.实现文字描边的2种方法

.stroke {
      -webkit-text-stroke: 1px greenyellow;
     text-stroke: 1px greenyellow;
}
.stroke {
  text-shadow:#000 1px 0 0,#000 0 1px 0,#000 -1px 0 0,#000 0 -1px 0;
  -webkit-text-shadow:#000 1px 0 0,#000 0 1px 0,#000 -1px 0 0,#000 0 -1px 0;
  -moz-text-shadow:#000 1px 0 0,#000 0 1px 0,#000 -1px 0 0,#000 0 -1px 0;
  *filter: Glow(color=#000, strength=1);
}

22.水流的实现

.dom{
  opacity:0.4;
  filter:alpha(opacity=40); /* IE8 及其更早版本 */
}

使用rgba()设置颜色颜色

.demo{
  background:rgba(255,0,0,1);
}

23.解决1px边框变粗的问题
注意:出现1px变粗的原因,比如在2倍屏时1px的像素对应2个物理像素

.dom{
  height: 1px;
  background: #dbdbdb;
  transform:scaleY(0.5);
}

24.CSS不同的单位的大脑

.div{ 
   width: calc(100% - 50px); 
}

25.CSS实现文字模糊

.vague_text{
  color: transparent; 
  text-shadow: #111 0 0 5px;
}

26.通过彩色图标变灰
一张彩色的图片实现了,移出变灰的效果。

<a href='' class='icon'><img src='01.jpg' /></a>
<style>
.icon{
  -webkit-filter: grayscale(100%);
  -moz-filter: grayscale(100%);
  -ms-filter: grayscale(100%);
  -o-filter: grayscale(100%);   
  filter: grayscale(100%);
  filter: gray;
}
.icon:hover{
  filter: none;
  -webkit-filter: grayscale(0%);
}
</style>

27.图片object-fit
当图片带不固定时间,想要让图片整体,一般都用background-size:cover/contain,但这个只适用于背景图。缩放的问题。使用的提前条件:图片的父级容器宽高。

img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

28.行内标签元素出现空白问题
父级font-size设置为0

.father{
 font-size:0;
}

父元素上设置word-spacing的有合适的值

.father{
   word-spacing:-2px
}

29.解决vertical-align属性不生效
在使用vertical-align:middle实现垂直居中的时候,经常会发现不生效的情况。
作用环境:父元素设置line-height。需要和高度一致。将显示属性设置为表格单元,将块元素转化为单元格。
作用对象:子元素中的inline-block和inline元素。

<div class="box">
  <img src=".\test.jpg"/>
  <span>内部文字</span>
</div>
<style>
.box{
  width:300px; 
  line-height: 300px;
  font-size: 16px; 
}
.box img{
  width: 30px; 
  height:30px; 
  vertical-align:middle
}
.box span{
  vertical-align:middle
}
</style>

注意:垂直对齐不可继承,必须对子元素单独设置。同时需要注意的是线高的高度基于字体大小(即字体的高度),如果文字要转行会出现异常哦。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值