rbl*_*nch 14 html css mobile blackberry
如何在不使用display:none或JavaScript的情况下隐藏div ?
在我的国家,许多Blackberrys都禁用了CSS支持(这里的移动公司对开发人员来说并不是那么好).我有文字说
<div class="BBwarn">
please activate your css support and a link
</div>
Run Code Online (Sandbox Code Playgroud)
我想隐藏一旦用户激活CSS支持,但我无法使用,display:none;因为它仅在BB固件4.6中受支持.这是一个公共站点,我不能让所有访问者升级.
有人知道这个解决方案吗?我希望这个问题现在更容易理解.
更新:谢谢大家的答案,但我无法使用
因为它们可以从Blackberry固件4.6及更高版本获得
kru*_*.ar 12
这是一种常见的方式:
margin-left: -9999;
要尝试的事情:
但真正的问题是:为什么?
怎么样:
visibility: hidden;
Run Code Online (Sandbox Code Playgroud)
这应该隐藏DIV,(注意它仍然会被渲染但是不可见,这意味着它会占用文档中的空间,就好像它是可见的,但是不可见(不像display:none; div不会被渲染) ).
<div style="height:0;width:0;overflow:hidden;">
<!-- content here -->
</div>
Run Code Online (Sandbox Code Playgroud)
顺便说一句,这是我要做的预加载图像,这很好,因为它不使用javascript。
可见性:隐藏不会做同样的事情,因为某些浏览器很聪明,除非提出要求,否则它不会发出请求。
我不确定你所说的使用 < 4.6 的百分比,但如果它对你那么重要,那么我可以看到接受你不能一直取悦所有人的理由,以及应该可以实现可接受的级联解决方案。可能有一个链接来解释升级和启用 css 的好处。
height: 0;
overflow: hidden;
visibility: hidden;
color: #fff;
background: #fff;
Run Code Online (Sandbox Code Playgroud)
顺便说一句 - 如果你告诉别人打开它,你最好确保你的 css 是好的...... :-)
为什么不尝试简单的方法:
position: absolute;
left: -1000px;
Run Code Online (Sandbox Code Playgroud)
我不明白为什么它不起作用。
display: none4.6之前版本不支持您的想法?你测试过那个,或者你是按照他们的文档进行测试的?
我也不是移动开发人员,所以我只是按照我从文档中收集到的内容.
在BlackBerry浏览器4.6 CSS参考确实提到了"可用性:BlackBerry®设备软件版本4.6或更高版本"的显示属性,但他们的BlackBerry浏览器4.3内容开发者指南表明,4.3已经支持非常有限版本的display财产,包括display: none.4.3之前的版本不支持该display属性(再次,通过BlackBerry Browser开发人员文档).
您是否可以假设您的用户至少拥有固件版本4.3,或者假设他们拥有4.6,这是不可接受的?
您是否尝试过将宽度和高度设置为零?我不熟悉BlackBerry(浏览器),但我怀疑它的CSS支持并不完美,当然在旧版本上.如果这有效,我不会感到惊讶:
.BBwarn {
display: none; /* for 4.6 and up */
width: 0px; /* for 4.3 */
height: 0px;
}
Run Code Online (Sandbox Code Playgroud)
但随后width与height仅支持从4.3版本开始的所有元素.在此之前,他们只能被应用到<button>和<img>标签和一些<input>类型(根据文档).
因此,真正使其适用于所有BlackBerry固件版本的最安全方法是使用图像作为警告,并使用CSS将其宽度和高度设置为零.
如果图像不是一个选项(由于lozalization问题左右,或许),丑陋的黑客可能是指定一个空/非法图像源并将警告文本放在alt属性中.我不知道如果将其宽度和高度设置为零仍会隐藏该替代文本.
| 归档时间: |
|
| 查看次数: |
40443 次 |
| 最近记录: |