CSS实战应用
CSS实战应用(未完待续)
一、通过css显示剪裁图片
1、使用场景:
为了可以减少客户端对服务器的请求,所以会把很多图片集成于一个图片之上,称为css sprites技术(css精灵/雪碧)。那么如何从集成后的图片中显示我们需要的图片便可以采用clip样式。
css精灵-优点:
【1】减少客户端对服务器的请求,提高性能;
【2】减少图片字节数,多个图片整合入1张图的字节数小于每个图片字节数之和;
【3】减少命名困扰;
【4】修改公共样式方便。
css精灵-缺点:
【1】图片合成有一定成本;
【2】使用时需要精确计算每个单元图片的位置;
2、code
<img src ="图片路径">
img {
position:absolute;
clip:rect(TOP LEFT BOTTOM LEFT )
}
二、隐藏元素的方法
-
visibility:hidden
特点: 元素仍然占用dom空间,使用visibility:visible可使隐藏的元素可见。 -
opacity:0(透明度为0)
特点: 用于和transition、animate配合使用实现渐隐渐显,使用opacity:1显示。 -
position:absolute
特点: 元素仍然占用dom空间, 用于使元素消失于可视区域,改变位置坐标可以用于显示。 -
display : none
特点: 元素隐藏后不占用dom空间。 -
hidden属性,H5新增
特点: 除IE浏览器其余都可以使用。 -
tranform:scale(0)
特点: 元素位置仍保留,通过将元素无限小来实现元素不可见,通过scale(1)位可见;改方法不适用于行元素,IE9以下不支持。
三、让div水平、垂直居中
- 方法一:
div {
position : absolute;
left : 50%;
top : 50%;
margin-left : -width/2;
margin-top : -height/2;
}
说明:width-div的宽度;height-div的高度
- 方法二:
div {
position : absolute;
left : 50%;
top : 50%;
-webkit-transform : translate(-50%,-50%)
}
- 方法三:
.parent {
justify-content : center; //令子元素水平居中
align-items : center; //令子元素垂直居中
display : -webkit-flex;
}
说明:.parent-div的父级dom
四、文字过长增加省略号
- 场景一:
html
<div id="name" title="库尔班·吐鲁木">库尔班·吐鲁木</div>
css
#name {
width:70px;
white-space:nowrap;//不换行
overflow:hidden; //超出dom的隐藏
text-overflow:ellipsis;//隐藏的文字部分用省略号代替
}
效果图:
扩展:
1.white-space
值 | 描述 |
---|---|
normal | 默认。文本中的空白会被浏览器忽略。 |
pre | 文本中的空白会被浏览器保留。效果类似于html的< pre >标签 。 |
nowrap | 文本不会换行。可以通过< br >强制换行 。 |
pre-wrap | 保留文本中连续空白,但是可以正常进行换行。 |
pre-line | 合并文本中的连续空白。但是会保留换行符。 |
inherit | 规定应该从父元素继承white-space属性的值。 |
2.text-overflow:
值 | 描述 |
---|---|
clip | 修建文本,只要超出就会从超出的开始位置删除除。 |
ellipsis | 通过省略符合代替被修建的文本。 |
string | 使用给定的字符串来代替被修建的内容 |