css百宝箱
关于css百宝箱?
在前端学习中,总会遇到零星的知识点,小技巧,这些知识点小到不至于用一片博客写出来,遇到时网上查询一下或许也能搞定,但不一定能记住,所以这篇博客就用来记录那些散落的知识点,积少成多,故名百宝箱。
1.文本框光标上浮或下坠的问题
文本框光标位置错误是经常碰到的bug了,自从干了前端,平时上网和以前大不相同,总会对网页的小问题特别敏锐,光标问题可以说是我碰到最多的之一了,不信你看:
酒仙网的登录页:
甚至还有淘宝:
不过现在他们已经修复好啦,但可惜还是被我截图了,在平时我也碰到过这种现象,那是在IE8下出的问题,上述两网站的问题我都是在高版本chrome下发现的,感觉很意外,下面是我碰到的问题和解决办法:
低版本IE下光标上浮:

解决方法是设置文本框line-height等于文本框高度,但可能会导致其他浏览器光标出问题,所以:
input{
display: block;
width: 330px;
height: 40px;
padding-left:10px;
margin-bottom:0px;
line-height: normal; /*高版本浏览器*/
line-height:40px\9; /*根据个人情况做兼容*/
}
2.更改网页中选中的文字的背景色(默认蓝色):
默认样式:选中背景蓝色,文字白色。

通过css3的伪类 ::selection 来实现更改,同时兼容火狐:
body ::selection{
color:blue; /* 选中后字体蓝色 */
background-color: red; /* 背景红色 */
text-shadow:none; /* 别的样式自由发挥 */
}
body ::-moz-selection{ /* 兼容火狐 */
color:blue;
background-color: red;
text-shadow:none;
}
修改后样式:字体蓝色,背景红色。

3.更改placeholder文字颜色
html5的placeholder属性为我们带来很大便利,(但在做网页国际化时也带了麻烦),我们所见到的placeholder基本都是默认的灰色,这里通过以下方法更改其默认颜色:
默认灰色:

用以下代码更改,并兼容浏览器:
::-webkit-input-placeholder { WebKit browsers
color:red;
}
:-moz-placeholder { Mozilla Firefox 4 to 18
color:red;
}
::-moz-placeholder { Mozilla Firefox 19+
color:red;
}
:-ms-input-placeholder { Internet Explorer 10+
color:red;
}
更改后为红色:

4.解决复选框与文字水平不对齐的问题
问题现象:

解决代码:
.checkbox{
vertical-align:text-bottom;
margin-bottom:1px; /*按需调整1px,或2px*/
margin-bottom:-1px\9;
}
修正后:

5.伪类:hover切换图标时的闪烁问题
常见的效果就是图标在鼠标经过时改变,常用的方法就是在hover时更改按钮的背景图片,但这可能会导致在更改背景的一瞬间出现空白,然后再显示更改后的图标,问题原因是在页面加载时第二张图片并没有加载上,当hover时才加载,这样才出现闪烁。这个问题不好截图,只能用文字加以说明。解决的办法就是把两个切换的图标p成一张图,然后在hover时用背景图片定位的方法显示更改后的图标。
小技巧:由于浏览器的不同,相同的标签如checkbox在各浏览器显示效果不一样,解决方法就是不用该标签,用span或别的标签代替,然后用图标代替checkbox的显示效果,一张是没选中时的样子,一张是选中时加了“对号”的样子,这样个浏览器下显示效果就统一了。
6.写css代码时最好把颜色对应的颜色值标注在注释中
好处多多,因为有的颜色看着是绿色,但css代码却不是green,有些看着是红色但并不是red,所以可以如下标注,使用起来更加方便:
/*
本网页使用的我颜色值:
purple #530
royal blue #88fb04
dark red #776290
..........
*/
7.div半透明而文字不透明
1.最安全最踏实的方法,两个div,一个不透明,一个半透明,把不透明的定位在半透明之上。
2.对于IE浏览器只需把文字position:relactive; 即可。
3.用rgba , a代表透明度,取值0~1
8.用text-overflow修饰超出文本
text-overflow是css3属性,但主流浏览器都支持,用来更改超出容器文本的显示样式。有两个属性:clip(裁剪)和ellipsis(省略):
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>text-overflow</title>
<style> div
{
font-size:12px;
width:200px;
height:100px;
border:4px solid #369; overflow:hidden;;/*隐藏超出部分*/
text-overflow:ellipsis;/* 文本溢出时显示省略标记(...) ;需与overflow:hidden;一起使用。*/
white-space:nowrap;/* 不换行 */
}
</style>
</head>
<body>
<div>这是一段测试文本,文本的结尾超出部分会被省略掉</div>
</body>
</html>
显示效果:

css百宝箱的更多相关文章
- Matplotlib数据可视化(3):文本与轴
在一幅图表中,文本.坐标轴和图像的是信息传递的核心,对着三者的设置是作图这最为关心的内容,在上一篇博客中虽然列举了一些设置方法,但没有进行深入介绍,本文以围绕如何对文本和坐标轴进行设置展开(对图像 ...
- CSS的未来
仅供参考 前言 完成<CSS核心技术与实战>这本书,已有一个多月了,而这篇文章原本是打算写在那本书里面的,但本章讲解的内容,毕竟属于CSS未来的范畴,而这一切都还不能够确定下来,所以这一章 ...
- 前端极易被误导的css选择器权重计算及css内联样式的妙用技巧
记得大学时候,专业课的网页设计书籍里面讲过css选择器权重的计算:id是100,class是10,html标签是5等等,然后全部加起来的和进行比较... 我只想说:真是误人子弟,害人不浅! 最近,在前 ...
- 前端css兼容性与易混淆的点
一.常用的骨灰级清除浮动 .clearfix:after { content: "."; display: block; height:; clear: both; visibil ...
- 理解CSS外边距margin
前面的话 margin是盒模型几个属性中一个非常特殊的属性.简单举几个例子:只有margin不显示当前元素背景,只有margin可以设置为负值,margin和宽高支持auto,以及margin具有 ...
- 理解CSS视觉格式化
前面的话 CSS视觉格式化这个词可能比较陌生,但说起盒模型可能就恍然大悟了.实际上,盒模型只是CSS视觉格式化的一部分.视觉格式化分为块级和行内两种处理方式.理解视觉格式化,可以确定得到的效果是应 ...
- 谈谈一些有趣的CSS题目(十二)-- 你该知道的字体 font-family
开本系列,谈谈一些有趣的 CSS 题目,题目类型天马行空,想到什么说什么,不仅为了拓宽一下解决问题的思路,更涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题 ...
- ASP.NET MVC with Entity Framework and CSS一书翻译系列文章之第二章:利用模型类创建视图、控制器和数据库
在这一章中,我们将直接进入项目,并且为产品和分类添加一些基本的模型类.我们将在Entity Framework的代码优先模式下,利用这些模型类创建一个数据库.我们还将学习如何在代码中创建数据库上下文类 ...
- 谈谈一些有趣的CSS题目(十一)-- reset.css 知多少?
开本系列,谈谈一些有趣的 CSS 题目,题目类型天马行空,想到什么说什么,不仅为了拓宽一下解决问题的思路,更涉及一些容易忽视的 CSS 细节. 解题不考虑兼容性,题目天马行空,想到什么说什么,如果解题 ...
随机推荐
- MSIL解析一(转)
转自:http://www.cnblogs.com/Yahong111/archive/2007/08/15/857140.html 在网上发现了一个非常好的MSIL教程,可惜是英文版的,于是就翻译了 ...
- RESTful 良好的API设计风格
1.使用名词而不是动词 Resource资源 GET读 POST创建 PUT修改 DELETE /cars 返回 cars集合 创建新的资源 批量更新cars 删除所有cars /cars/711 返 ...
- 二十六、【开源框架】EFW框架Winform前端开发之Grid++Report报表、条形码、Excel导出、图表控件
回<[开源]EFW框架系列文章索引> EFW框架源代码下载V1.2:http://pan.baidu.com/s/1hcnuA EFW框架实例源代码下载:http://pan ...
- HTML5[5]:在移动端禁用长按选中文本功能
在手机浏览器中,长按可选中文本,但如果在应用中,会给人一种异样的感觉,最好还是禁用此功能为上. * { -webkit-touch-callout:none; -webkit-user-select: ...
- 基于jQuery点击加载动画按钮特效
分享一款基于jQuery点击加载动画按钮特效.这是一款基于jQuery+CSS3实现的鼠标点击按钮加载动画特效代码.效果图如下: 在线预览 源码下载 实现的代码. html代码: <div ...
- fusioncharts图例(legend)属性
图例用来在多系列图和混合图中将图形和对应的系列名称联系起来. 从v3.2开始,每个系列的名称前面会展示对应的icon图标,这些图标具有交互作用,用户可以通过点击这些图标来显示或者隐藏对应的数 ...
- hdu 2014鞍山赛区 5073 Galaxy
题意:就是给你 n 个数,代表n个星球的位置,每一个星球的重量都为 1 ! 开始的时候每一个星球都绕着质心转动,那么质心的位置就是所有的星球的位置之和 / 星球的个数 现在让你移动 k 个星球到任意位 ...
- 转载--CentOS 6.3下部署LVS(NAT)+keepalived实现高性能高可用负载均衡
源地址:http://www.cnblogs.com/mchina/archive/2012/08/27/2644391.html 一.简介 VS/NAT原理图: 二.系统环境 实验拓扑: 系统平台: ...
- suricata抓包方式之一 AF_PACKET
1.前言 linux提供了原始套接字RAW_SOCKET,可以抓取数据链路层的报文.这样可以对报文进行深入分析.今天介绍一下AF_PACKET的用法,分为两种方式.第一种方法是通过套接字,打开指定的网 ...
- Android 学习笔记之AndBase框架学习(一) 实现多功能标题栏
PS:Volley框架终于通过看源码的方式完成了所有的学习..开始学习AndBase...AndBase的源码实在是多的离谱...因此就不对所有的源码进行分析了... 学习内容: 1.使用AndBas ...