解决关于flex程序中浏览器缩小到某个值时出现滚动条
---------------------------------------------------
author: 小滕
time : 2011-6-26
原 问 题 描 述:
当要求浏览器宽度缩小到500时,横向出现滚动条的问题。
解决遇到的问题:
1.Flex的模板中body的属性中默认scroll="no",是没有滚动条的。
2.简单的去掉scroll=0此时就会遇到几个问题(可能初始化时窗口小于500有滚动条,但是和预期的效果不一样,不能控制flash居中)
3.使用flex中application的滚动条,发现滚动条范围不对(application的minwidth属性值的问题)
解 决 方 案:(临时想到的解决方法,肯定有更好的,只是本人对flex了解还太少)
1.保留html中body的scroll="no";
2.网页中监听noresize事件
function resetPage(){
lenovo.resetWindow(); //flex中已经通过ExternalInterface注册的函数
}
window.onresize = resetPage;
3.Flex中组件需要使用x的布局(也可以使用horizontalCenter道理都是根据目前窗口的大小去重新设置这个只,当窗口大小小于500是x=0或者horizontalCenter=-250),这里讲一个宽度为400的组件的x设置为(this.width-400)/2,目的让该组件相对于application居中。
4.设置<mx:application>的horizontalScrollPolicy属性
horizontalScrollPolicy="{(this.width<500)? 'on':'off'}"
5.Flex中注册函数(要使用ExternalInterface类,使用很简单不会用的看看Flex API),每次调用回调,需要重新设置组件的布局和是否显示application的滚动条。
ExternalInterface.addCallback( "resetWindow", resetWindow);
private function resetWindow():void{
if( this.width <500){
this.horizontalScrollPolicy = "on";
}else{
this.horizontalScrollPolicy = "off";
}
this.loginWin.x = ( ( this.width/2-500/2) >= 0)? ( this.width/2 - 500/2):0;
}
6.按照上面的操作,在点击浏览器最大化时还可能会导致组件布局中的问题。这个我选择的是加一个定时器,定时去设置application是否显示滚动条和组件的布局。如果加入定时器,那么上面的第二步就不一定是必须的了。可以选择不用。
上面说的只是一种解决问题的思路,由于本人不喜欢直接拿来就用,所以不提供具体实例和源码,只提供解决问题的方法。转载请注明出处:http://baiyejianxin.iteye.com/blog/1105218
分享到:
相关推荐
在Flex中,如果不想在容器中显示滚动条,可以通过设置`horizontalScrollPolicy`和`verticalScrollPolicy`属性为`off`来实现。这两个属性控制着水平和垂直方向上的滚动策略。将它们设为`off`意味着无论内容是否超出...
这在MacOS下的Chrome浏览器中表现良好,但在Windows平台上,滚动条总是可见的。相比之下,`overflow: auto`仅在需要时才显示滚动条,更符合用户体验。 ```css .element { height: 300px; overflow-y: auto; /* ...
- 可以设置的值有`visible`(默认,内容不被剪裁,会溢出其容器)、`hidden`(内容被剪裁,不显示溢出部分)、`scroll`(显示滚动条以便查看所有内容)和`auto`(只有当内容溢出时才显示滚动条)。 2. **实现水平...
在网页设计中,布局是至关重要的,特别是在CSS中创建响应式和适应性的界面。本文将详细介绍如何使用CSS实现“左侧固定宽,右侧自适应”的布局,并确保兼容所有浏览器。这种布局常见于各种网站,比如博客、新闻网站...
- 横向滚动条:通过设置`flex-wrap: nowrap`和合适的宽度,实现水平滚动效果。 总的来说,CSS3弹性盒模型极大地提升了Web开发的灵活性和效率,使得创建复杂的布局变得更加简单。它不仅简化了代码,还提高了网页的...
4.auto 自动,溢出时自动显示滚动条并且可用 ============================== 9.29 1、边框线 属性:border: 取值: 2、边框倒角 属性:border-radius: 取值: px % 3、边框阴影 属性:box-shadow: 取值: ...
- 使用`overflow-y: auto`使内容超出容器时出现滚动条。 2. **图片缩略图** - 每个图片应被包装在一个独立的元素中,如`<div>`,并设置适当的样式,如`flex-shrink: 0`以防止图片缩小。 - 为每个图片添加缩略图...
- 在不同的浏览器中,Flex布局的支持程度不同,需根据实际情况选择使用哪种前缀。 - 对于较老版本的浏览器,可能需要提供更多的前缀支持。 通过以上这些实践经验和技术细节的介绍,我们可以更好地应对在移动端...
可使用标准Windows元素创建图形用户界面(GUI)屏幕,包括框架窗口、会话、菜单、工具栏、标签、按钮、复选框、单选按钮、滚动条、滑动调节框、微调框、组合框、树列表、列表框、编辑框以及静态文本等。 通过现有...
12. **Overflow属性**:用于处理内容溢出的情况,可以设置为`auto`、`scroll`、`hidden`等,控制滚动条和内容裁剪。 13. **边距折叠**:在部分情况下,相邻的元素之间的垂直边距可能会合并,称为边距折叠。了解这一...
- `*-moz-appearance`: 控制元素的外观,如按钮、滚动条等。 - `*-moz-binding`: 设置XBL绑定。 - `*-moz-background-clip`: 定义背景的裁剪区域。 - `*-moz-background-inline-policy`: 设置背景图片在行内元素...
若有滚动条,则 `100vw` 不包括滚动条宽度,而 `100%` 包括。 2. **750 设计图中的单位转换** - **背景**:750 设计图通常针对 iPhone 6/7/8 的屏幕尺寸 (375px * 667px),且为2倍图。 - **计算**:假设页面默认...
`,但可能导致滚动条的出现。 4. 使用display属性:将父元素的display属性设置为`table`或`flex`。 【定位的属性值】 定位属性主要是`position`,其值有static(默认值,遵循正常文档流)、relative(相对于自身...
- `flex-shrink`:项目的缩小比例。 - `flex-basis`:项目的初始大小。 - `align-self`:单个项目的交叉轴对齐方式。 ##### 6.2 CSS Grid布局详解 - **网格容器**:通过`display: grid`创建网格容器。 - **网格...
`$(window).scroll()`函数监听滚动事件,`scrollTop`变量记录当前滚动条的位置。当滚动距离超过100像素时,菜单的高度变为原来的一半,否则恢复原高度。这个值可以根据实际需求进行调整,以达到最佳的用户体验。 ...