css小技巧1
资料
1. 文本省略
单行省略:
white-space:nowrap;
overflow:hidden;
text-overflow:ellipsis;
多行文本省略:
- 只兼容webkit内核,不属于css规范:
width: 200px;
overflow: hidden;
text-overflow: ellipsis;
/** 隐藏超出的内容 **/
display: -webkit-box;
/** 对象作为伸缩盒子模型显示 **/
-webkit-box-orient: vertical;
/** 设置或检索伸缩盒对象的子元素的排列方式 **/
-webkit-line-clamp: 3; /** 显示的行数 **/
- 只兼Opera 10.60 +,也不属于css规范:
p {
overflow: hidden;
white-space: normal;
height: 3em;
text-overflow: -o-ellipsis-lastline;
}
- css模拟出的样式
p {
width:200px;
position: relative;
line-height: 1.4em;
/* 高设置为行高的三倍 */
height: 4.2em;
overflow: hidden;
}
p:after {
content: "...";
font-weight: bold;
position: absolute;
bottom: 0;
right: 0;
padding: 0 20px 1px 45px;
}
2. word-wrap和word-break
对于单词浏览器默认行为:
- 如果有一个单词很长,导致一行中剩下的空间已经放不下它时,则浏览器会把这个单词挪到下一行去
- 当一个单词的长度超过父容器就会溢出
word-wrap
- 兼容:几乎全部主流浏览器。
- 该属性用来标明是否允许浏览器在单词内进行断句,这是为了防止当一个字符串太长而找不到它的自然断句点时产生溢出现象。
- 解决了浏览器的第二个默认行为
//该属性常用值:
break-word 在长单词或 URL 地址内部进行换行。
word-break
- 兼容:除了opera都兼容
- 该属性用来标明怎么样进行单词内的断句。
- 同时解决了浏览器的两个默认行为
//该属性常用值:
break-all 允许在单词内换行。
keep-all 只能在半角空格或连字符处换行。
3. line-height
length 设置固定的行间距。
% 基于当前字体尺寸的百分比行间距。
number 设置数字,此数字会与当前的字体尺寸相乘来设置行间距。
4. href和src
- href
<link rel="stylesheet" href="css/demo.css"/>
<a href="https://www.baidu .com">
- src
<script style='text/javascript' src='js/demo.js'></script>
<img src="" alt="">
<iframe src="">
区别:
- href 表示超文本引用(hypertext reference);src 表示来源地址(source)
- href 的内容,是与该页面有关联,是引用;src 的内容,是页面必不可少的一部分,是引入。
- href用于在当前文档和引用资源之间确立联系,会并行下载资源并且不会停止对当前文档的处理;src用于替换当前元素,当浏览器解析到该元素时,会暂停其他资源的下载和处理,直到将该资源加载、编译、执行完毕
4. 处理网站logo及一些重要图片
h1 {
text-indent:-9999px;
background:url("title.jpg") no-repeat;
width:100px;
height:50px;
}
5.去最后一个li的边框(:not兼容ie9+)
.nav li:not(:last-child) {
border-right: 1px solid #666;
}
6.伪类(:)和伪元素(:: 此写法兼容ie9+)
伪类:用于向某些选择器添加特殊的效果。
- :link 向未被访问的链接添加样式。
- :visited 向已被访问的链接添加样式。
- :hover 当鼠标悬浮在元素上方时,向元素添加样式。
- :active 向被激活的元素添加样式。
- :focus 向拥有键盘输入焦点的元素添加样式。
- :first-child 向元素的第一个子元素添加样式。
- :lang 向带有指定 lang 属性的元素添加样式。
伪元素:用于将特殊的效果添加到某些选择器。
- :first-letter 向文本的第一个字母添加特殊样式。
- :first-line 向文本的首行添加特殊样式。
- :before 在元素之前添加内容。
- :after 在元素之后添加内容。
将会在内容元素的前后插入额外的元素,可以类比普通元素使用,但是在源码中找不到
操作伪元素:
content
:添加内容(必须),它的值可以是以下几种:- string(包括空串), 会向元素内容中添加字符串
content: "↗"
- url 用于引用媒体文件
content: url( "img/icon.png" )
- attr() 调用当前元素的属性,可以方便的比如将图片的 Alt 提示文字或者链接的 Href 地址显示出来。
//栗子:
a::before{content: attr(title)}
<a href="http://www.segmentfault.com" title="专业面向开发者的中文技术问答社区"></a>
这样做相当于:
<a href="http://www.segmentfault.com">专业面向开发者的中文技术问答社区</a>
- counter() 调用计数器,可以不使用列表元素实现序号功能。具体请参见 counter-increment 和 counter-reset 属性的用法。
h2:before { counter-increment: chapter; content: "Chapter " counter(chapter) ". " }
- string(包括空串), 会向元素内容中添加字符串
样式可以像正常元素的样式一样和content并列书写即可
伪类和伪元素也可以结合使用
给伪元素设置了display:none;他们会从DOM树上删除,普通元素则不会
伪类的效果可以通过添加一个实际的类来达到,而伪元素的效果则需要通过添加一个实际的元素才能达到,这也是为什么他们一个称为伪类,一个称为伪元素的原因。
css小技巧1的更多相关文章
- css小技巧(1)
1.-webkit-overflow-scrolling: touch; 解决ios滑动时无缓冲问题 2.::-webkit-scrollbar 设置ios滑动时是否显示滚动条 3.::selecti ...
- CSS 小技巧
CSS 小技巧 一.边框内圆角 我们在设计例如按钮等控件的时候,会遇到这样的设计:只有内侧有圆角,而边框或者描边的四个角还是保持直角的形状,用以下代码可以轻松的实现. #wrapper { width ...
- 常用的CSS小技巧
实际开发过程中会遇到一些需要用CSS小技巧处理的布局问题,现在分享几个个人工作中遇到的小问题和解决方案. 1.inline元素间的空白间隙 这里要介绍一个神器font-size:0. 如果你写了个列表 ...
- 前端开发者应该知道的 CSS 小技巧
一些小技巧让你的CSS技术更专业 使用:not()去除导航上不需要的边框 为body添加行高 垂直居中任何元素 逗号分离的列表 使用负nth-child选择元素 使用SVG图标 文本显示优化 在纯CS ...
- CSS 小技巧 | 一行代码实现头像与国旗的融合
到国庆了,大家都急着给祖国母亲庆生. 每年每到此时,微信朋友圈就会流行起给头像装饰上国旗,而今年又流行这款: emm,很不错. 那么,将一张国旗图片与我们的头像,快速得到想要的头像,使用 CSS 如何 ...
- 模仿也是提高,纯css小技巧实现头部进度条
刚开始的时候我也觉得不可能,但是就是这么神奇,总有大神给你意想不到的惊喜. 快来感受一下把.(仔细看看头部黄色条的变化) 思考一下啊,怎么出现的那,其实作者使用了一点小技巧,那就是背景色渐变和遮挡产生 ...
- Css 小技巧总结
相对偏移 指定left top等属性就能够够完美控制一个元素的位置 如: position:relative; left:2px; 今天遇到一个很好玩的问题,当两个并排浮动框,当一个框的长度太大时就会 ...
- Web前端开发基础 第四课(CSS小技巧1)
垂直居中-父元素高度确定的单行文本 父元素高度确定的单行文本的竖直居中的方法是通过设置父元素的 height 和 line-height 高度一致来实现的.如下代码: <div class=&q ...
- CSS小技巧使用
1.清除浮动 浮动给我们的代码带来的麻烦,想必不需要多说,我们会用很多方式来避免这种麻烦,其中我觉得最方便也是兼容性最好的一种是....// 清除浮动 .clearfix{ zoom: 1; } .c ...
- css小技巧
每逢大的灾难的时候,很多网站变成了灰色,如何让网站快速变灰?css代码是很简单的,用的是css的filter功能. html { filter: grayscale(100%);//IE浏览器 -we ...
随机推荐
- 中移苏研DCOS实践之路完整篇
一.实践背景 1.1现网生产系统存在的问题 在中国移动内部各省市公司,由于技术迭代.设备更新的原因,设备繁杂,有x86server .VMware虚拟机.OpenStack虚拟机以及不同厂商的物理机( ...
- 使用加密的squid配合stunnel实现HTTP代理
现在大部分人都是用ssh tunnel来搭建socks5代理,其实这种方式效率并不高,ssh tunnel并不是为了做代理而存在的.一个比较好的方法是加密squid配合stunnel实现http代理. ...
- android开发的权限获取 (转载的)
访问登记属性 android.permission.ACCESS_CHECKIN_PROPERTIES ,读取或写入登记check-in数据库属性表的权限 获取错略位置 android.permiss ...
- Spring MVC可参数化的视图控制器
以下示例显示如何使用Spring Web MVC框架来实现多动作控制器的可参数化视图控制器.可参数化视图允许将请求映射到网页. 所下所示配置 - import javax.servlet.http.H ...
- Mysql权限体系
1,MySQL权限体系 MySQL 的权限体系大致分为5个层级: 全局层级: 全局权限适用于一个给定服务器中的所有数据库.这些权限存储在mysql.user表中.GRANT ALL ON .和REVO ...
- NetCore 中 EFcore的DbFirst和CodeFirst混合 使用注意
NetCore 最近很火热.笔者想把自己以前的旧项目迁移到NetCore平台. 先用EFcore的DBFirst根据数据库创建实体类,然后加入数据库版本控制功能也就是EFcore的CodeFirst部 ...
- windows共享文件夹给centOS
服务器使用的是CentOS系统,而本机使用的win7系统.考虑到是临时使用,所以就不打算搭建FTP和Samba服务器,直接通过CentOS挂载windows共享文件夹的方式来达到此目的. 既然是使用w ...
- 用ElasticSearch搭建自己的搜索和分析引擎【转自腾讯Wetest】
本文大概地介绍了ES的原理,以及Wetest在使用ES中的一些经验总结.因为ES本身涉及的功能和知识点非常广泛,所以这里重点挑出了实际项目中可能会用到,也可能会踩坑的一些关键点进行了阐述. 一 重要概 ...
- jpofiler监控JVM
1.官方下载地址,选择自己想要的版本 https://www.ej-technologies.com/download/jprofiler/version_92 2.分为linux服务端.window ...
- 《从零开始学Swift》学习笔记(Day 45)——重写方法
原创文章,欢迎转载.转载请注明:关东升的博客 重写实例方法 在子类中重写从父类继承来的实例方法和静态方法.先介绍实例方法的重写. 下面看一个示例: class Person { var name: S ...