如果用户/访问者使用歌剧,有什么方法可以覆盖css中的某些内容并使用不同的大小?
例如,在chrome,ff和safari中,这很有效:
.section#search h3 a {
background: url("../img/search.png") no-repeat 0 50%;
padding: 0 0 0 25px;
position: relative;
}
但是在Opera填充中并不是很好......我需要在其中添加top: 16px;
或将填充更改为padding: 0 0 36px 25px;
是否有任何“黑客”喜欢IE或javascript使用?没有想法......
我只需要为歌剧添加顶部或新的填充。谢谢;)
答案 0 :(得分:3)
您可以使用像Modernizr这样的JavaScript库来测试浏览器,并使用它为目标Opera添加的css类。
答案 1 :(得分:3)
使用conditional-css工具,您可以定位opera,但引擎很重要。 conditional-css.com解释说:
Conditional-CSS并不是真的对哪个浏览器感兴趣 用户正在使用,而是用户浏览器的渲染引擎 利用。这就是为什么Conditional-CSS使用'Gecko'而不是 众所周知的Firefox是其中一个浏览器条件。同样地 使用Safari'Webkit'。这允许其他浏览器使用相同的 渲染引擎以接收相同的目标CSS。一个例外 这个规则适用于IE(而不是使用'Trident'),因为这是 IE条件评论使用什么和Trident不是特别的 众所周知。同样对于Opera,因为只有Opera浏览器使用 它是Presto渲染引擎,使用'Opera'。
http://www.conditional-css.com/advanced
他们写道条件标签形成如下:
[if {!} browser]
[if {!} browser version]
[if {!} condition browser version]
并且浏览器名称如下:
IE - Internet Explorer
Gecko - Gecko based browsers (Firefox, Camino etc)
Webkit - Webkit based browsers (Safari, Shiira etc)
'SafMob' - Mobile Safari (iPhone / iPod Touch)
Opera - Opera's browser
IEMac - Internet Explorer for the Mac
Konq - Konqueror
IEmob - IE mobile
PSP - Playstation Portable
NetF - Net Front
因此,根据他们的说法,它应该在逻辑上遵循以下目标:
[if Opera]
在CSS块中这样:
[if Opera] .box {
width: 500px;
padding: 100px 0;
}
或类似的CSS包括:
<!--[if Opera]>
<![endif]-->
答案 2 :(得分:1)
什么版本和类型的歌剧?您可以使用此媒体查询
@media not all and(-webkit-min-device-pixel-ratio:0){} 目标歌剧10,10.5,11和11.6
在这里查看:注意,我只在chrome19和opera 11.6 http://jsfiddle.net/jalbertbowdenii/fw94a/
中查看更好
x:-o-prefocus,p {}
答案 3 :(得分:1)
在您计划使用解决方法和黑客攻击之前,请考虑以下事项:
您的网页是否处于严格模式?如果没有,请将doctype添加到页面的第一行:
<!DOCTYPE html>
否则,您的网页处于怪异模式,这是浏览器不一致的主要原因。
尝试使用CSS reset。这应该可以消除浏览器中的一些不一致性,例如填充,边距,对齐等。在任何其他样式之前加载此样式。