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 ...
随机推荐
- 关于height:100%不生效的问题
当你设置一个页面元素的高度(height)为100%时,期望这样元素能撑满整个浏览器窗口的高度,但大多数情况下,这样的做法没有任何效果.你知道为什么height:100%不起作用吗? 按常理,当我们用 ...
- Java 学习笔记之读取jdbc.propertyes配置参数
package test; import java.io.IOException; import java.io.InputStream; import java.util.Properties; p ...
- linux grep sed awk
$ grep ‘test’ d* 显示所有以d开头的文件中包含 test的行. $ grep ‘test’ aa bb cc 显示在aa,bb,cc文件中匹配test的行. $ grep ‘[a-z] ...
- redis的下载
网址一:https://github.com/dmajkic/redis/downloads 网址二:http://windows.php.net/downloads/pecl/releases/re ...
- Windows中安装Scrapy
在linux中安装Scrapy只需要导入一些非python的支持包,在windows中安装Scrapy则是一波三折. 总之来说,主要分为以下几个步骤,可能由于系统问题(国内个人机子,甚至是小企业的机子 ...
- mysqldump: Got error: 1045
问题:最近备份mysql然后在执行mysqldump的时候提示权限和密码有问题 报错: Warning: Using a password on the command line interface ...
- nginx 在浏览器端保持cookie 一致
一般来说,我们在java中都通过如下代码进行用户登录后的服务端注册,并且在用户下次请求时无需再登陆一遍,这就是Servlet的Session.使用了这种Session策略,那么Web容器比如tomca ...
- jqgrid 事件说明
Events(事件) 事件响应动作被设置为表格的属性,以下定义了行被选中时的响应: var lastSel; jQuery("#gridid").jqGrid({ ... o ...
- EasyNVR现场部署搭配EasyNVS云端集中控制应用于幼儿园直播场景的最佳方案!
在之前的介绍中,我们已经介绍了很多EasyNVR成功应用于幼儿园类教育直播的场景,例如<EasyDarwin幼教云视频平台在幼教平台领域大放异彩!>.<基于EasyDarwin云视频 ...
- 巨蟒python全栈开发django1:自定义框架
今日大纲: 1.val和text方法的补充 2.信息收集卡用bootstrap实现 3.自定义web框架 4.http协议 5.自定义web框架2 今日内容详解: 1.val和text方法的补充 ht ...