IE 下 a标签的虚线框
在 IE 中,点击 a 标签时, a 标签会被加上一个虚线框,很丑!!!!!
不同版本的IE解决方案不同:IE8 下只需为 a 标签添加一条 CSS 属性就可以 outline:none
,顺便一提 ,这条属性可以取消浏览器中输入框获得焦点是丑逼逼的外框
但是在高贵的 IE7 中,即使是添加了 outline: none
,虚线框依旧存在,在 HTML 上加 hidefocus="true"
如
<a href="http://www.zhanglun.github.io/" class="active" hidefocus="true">
###强大的CSS选择器
项目最低的兼容要求是 IE8 ,所有很多以前由于兼容性问题而不常用的CSS选择器和属性都可以使用。下面记录的都是以前基本上没有用到的但是却很有用的选择器,就拿属性选择器来说,简直遍地都是。
#####直接相邻选择器 X+Y (兼容浏览器:IE7+、Firefox、Chrome、Safari、Opera)
ul + p {
color: red;
}
匹配在ul后面的第一个p,将段落内的文字颜色设置为红色。(只匹配第一个元素)。
#####子选择器 X>Y (兼容浏览器:IE7+、Firefox、Chrome、Safari、Opera)
div#container > ul {
border: 1px solid black;
}
<div id="container">
<ul class="son">
<li> List Item
<ul>
<li> Child </li>
</ul>
</li>
<li> List Item </li>
<li> List Item </li>
<li> List Item </li>
</ul>
</div>
与后代选择器X Y不同的是,子选择器只对X下的直接子级Y起作用。在上面的css和html例子中,div#container>ul仅对container中最近一级的ul起作用(即拥有类名 son 的 ul)。
####间接相邻选择器 X ~ Y (兼容浏览器:IE7+、Firefox、Chrome、Safari、Opera ) ul ~ p { color: red; } 与前面提到的 X+Y 不同的是,X~Y 匹配与 X 相同级别的所有Y元素,而X+Y只匹配第一个。
这些选择器,给人的感觉是根据 HTML 的结构来选择对应的元素,比如说:选择在页面中相邻的元素;根据父元素选择子元素,或者兄弟元素,都依赖着结构,利用A去寻找B。下面说的 属性选择器 给人的感觉就不太一样
####属性选择器 (兼容浏览器:IE7+、Firefox、Chrome、Safari、Opera)
#####X[title]——匹配的是带有 title 属性的链接元素
a[title] {
color: green;
}
#####X[title=“foo”]——匹配所有拥有href属性,且**href为http://css9.net**的所有链接
a[href="http://css9.net"] {
color: #1f6053;
}
#####X[title*=“zhanglun”]——匹配的是href中**包含”zhanglun”*的所有链接 a[href=“css9.net”] { color: #1f6053; }
#####X[href^=“http”]——匹配的是href中所有以http开头的链接
a[href^="http"] {
background: url(path/to/external/icon.png) no-repeat;
padding-left: 10px;
}
#####X[href$=“.jpg”]——匹配的是所有链接到扩展名为.jpg图片的链接
a[href^="http"] {
background: url(path/to/external/icon.png) no-repeat;
padding-left: 10px;
}
#####X[data-=“foo”]——匹配属性 data- 为 “foo” 的元素
在上一个选择器中提到如何匹配所有图片链接。如果使用X[href$=“.jpg”]实现,需要这样做:
a[href$=".jpg"],
a[href$=".jpeg"],
a[href$=".png"],
a[href$=".gif"] {
color: red;
}
看上去比较麻烦。另一个解决办法是为所有的图片链接加一个特定的属性,例如‘data-file’
html代码
<a href="path/to/image.jpg" data-filetype="image"> 图片链接 </a>
css代码如下:
a[data-filetype="image"] {
color: red;
}
这样所有链接到图片的链接字体颜色为红色。
#####X[foo~=“bar”]——匹配属性值中用空格分隔的多个值中的一个
html代码
<a href="path/to/image.jpg" data-info="external image"> Click Me, Fool </a>
css代码
a[data-info~="external"] {
color: red;
}
a[data-info~="image"] {
border: 1px solid black;
}
在上面例子中,匹配data-info属性中包含“external”链接的字体颜色为红色。匹配data-info属性中包含“image”的链接设置黑色边框。
兼容浏览器:IE7+、Firefox、Chrome、Safari、Opera