CSS Hacks和问题解决

2016-02-19 17:44 10 1 收藏

下面图老师小编要向大家介绍下CSS Hacks和问题解决,看起来复杂实则是简单的,掌握好技巧就OK,喜欢就赶紧收藏起来吧!

【 tulaoshi.com - Web开发 】

目录
介绍
针对浏览器的选择器
让IE6支持PNG透明
移除超链接的虚线
给行内元素定义宽度
让固定宽度的页面居中
图片替换技术
最小宽度
隐藏水平滚动条
一. 介绍
这篇文章包括了8个非常有用的解决办法, 在进行css设计遇到问题时你就会用到它们.
二. 针对浏览器的选择器
这些选择器在你需要针对某款浏览器进行css设计时将非常有用.
IE6及其更低版本
* html {}
IE7及其更低版本
*:first-child+html {} * html {}
仅针对IE7
*:first-child+html {}
IE7和当代浏览器
htmlbody{}
仅当代浏览器(IE7不适用)
html/**/body{}
Opera9及其更低版本
html:first-child {}
Safari
html[xmlns*=""] body:last-child {}
要使用这些选择器,请将它们放在样式之前. 例如:
#content-box {
width: 300px;
height: 150px;
}
* html
#content-box {
width: 250px;
} /* overrides the above style and changes the width to 250px in IE 6 and below */
三. 让IE6支持PNG透明
一个IE6的Bug引起了大麻烦, 他不支持透明的PNG图片.
你需要使用一个css滤镜
*html #image-style {
background-image: none;
filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(src="fil
ename.png", sizingMethod="scale");
}
四. 移除超链接的虚线(仅对FF有效)
FireFox下,当你点击一个超链接时会在外围出现一个虚线轮廓. 这很容易解决, 只需要在标签样式中加入 outline:none .
a{
outline: none;
}
http://bizhi.knowsky.com/
五. 给行内元素定义宽度
如果你给一个行内元素定义宽度,那么它只是在IE6下有效. 所有的HTML元素要么是行内元素要么就好是块元素. 行内元素包括: span, a, strong 和 em. 块元素包括div, p, h1, form和li . 你不能定义行内元素的宽度, 为了解决这个问题你可以将行内元素转变为块元素.
span { width: 150px; display: block }
六. 让固定宽度的页面居中
为了让页面在浏览器居中显示, 需要相对定位外层div, 然后把margin设置为auto.
#wrapper {
margin: auto;
position: relative;
}
七. 图片替换技术
用文字总比用图片做标题好一些. 文字对屏幕阅读机和SEO都是非常友好的.
HTML:
h1spanMain heading one/span/h1
CSS:
h1 { background: url(heading-image.gif) no-repeat; }
h1 span {
position:absolute;
text-indent: -5000px;
}
你可以看到我们对标题使用了标准的h1作为标签并且用css来将文本替换为图片. text-indent属性将文字推到了浏览器左边5000px处, 这样对于浏览者来说就看不见了.
关掉css,然后看看头部会是什么样子的.
八. 最小宽度
IE6另外一个bug就是它不支持 min-width 属性. min-width又是相当有用的, 特别是对于弹性模板来说, 它们有一个100%的宽度,min-width 可以告诉浏览器何时就不要再压缩宽度了.
除IE6以外所有的浏览器你只需要一个 min-width: Xpx; 例如:
.container {
min-width:300px;
}
为了让他在IE6下工作, 我们需要一些额外的工作. 开始的时候我们需要创建两个div, 一个包含另一个:
div class="container"
div class="holder"Content/div
/div
然后你需要定义外层div的min-width属性
.container {
min-width:300px;
}
这时该是IE hack大显身手的时候了. 你需要包含如下的代码:
* html .container {
border-right: 300px solid #FFF;
}
* html .holder {
display: inline-block;
position: relative;
margin-right: -300px;
}
As the browser window is resized the outer div width reduces to suit until it shrinks to the border width, at which point it will not shrink any further. The holder div follows suit and also stops shrinking. The outer div border width becomes the minimum width of the inner div.
九. 隐藏水平滚动条
为了避免出现水平滚动条, 在body里加入 overflow-x:hidden .
body { overflow-x: hidden; }
当你决定使用一个比浏览器窗口大的图片或者flash时, 这个技巧将非常有用.

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

来源:http://www.tulaoshi.com/n/20160219/1615949.html

延伸阅读
他的代码大致如下: static TCHAR BASED_CODE szFilter[] = _T(&TXT(*.txt)|*.txt||&); CFileDialog dlg(TRUE,_T(&txt&), NULL,OFN_HIDEREADONLY|OFN_ALLOWMULTISELECT, szFilter, NULL ); INT_PTR nResult = dlg.DoModal(); 我测试了一下,选择比较多txt文件时,确实如他所言,会出现返回值是IDCANCEL的情况,但是有时如果...
     执行一对帐程序,老执行到一半的时候就出错,作者还没有把Oracle的error打印出来,只是打印了他自己能看得懂的错误提示,经过修改代码,把oracle错误,put_line出来后,发现是 ORA-01562: failed to extend rollback segment number 12 ORA-01628: max # extents (505) reached for rollback segment RBS12  &...
问题解决牌阵 推荐指数 恋爱和婚姻:★★★★★ 工作和学业:★★★★★ 投资和理财:★★★★★ 人 际关 系:★★★★★ 健 康:★★★★★ 其 他:★★★☆☆ 适用范围 有时候我们遇到问题,首先希望知道问题的关键所在,因为一旦知道了其要害,我们就能很容易地找到克服困难的...
标签: 装修 夏季 家具
夏天是不是不适合装修?施工过程中有哪些问题需要注意?已经装修完的新房,如果出现木地板收缩,缝隙加大;墙面开裂等问题,应该如何补救? 业内专家表示,装修受气候影响较大,任何季节施工都会遇到相应的问题,如果墙体、地板、家具出了点小意外,只要对症下药,就能轻松应对。 一号诊室:墙面 症状1: 墙体出汗发霉 夏天潮湿,常会...
1.问题:创建了一个PopupWindow,里面要显示listView,这样子的话,listView的itemClick要得到实现,必须要让PopupWindow得到焦点,可是PopupWindow得到焦点之后,parentView 的一些onTouch事件就得不到响应,在这个时候应该怎么办? 2.解决:PopupWindow得到焦点:window.setFocusable(true); 也要让除了PopupWindow之外的得...

经验教程

513

收藏

31
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部