1、首先我们新建一个测试项目然后新建一个index.html、basic.js和basic.css文件。
2、js修改html文件中div的style中值来修改div的高度 HTML文件中的文件代码如图所示。
3、运行之后我们看到两个div的高度是一样的 接下来我们就使用js修改高度。
4、这时我们敲js中的代码 获取div1的id 使用css属性对应的style属性然后设置高度 如图所示。
5、使用js修改CSS文件中的div的height的值 HTML文件中的代码。
6、然后我们是在js文件中获取div1的id属性 然后使用obj.style.cssTest来修改嵌入式的css。
7、然后运行项目之后 两次结果都是一样的 div的高度改变了 。
【转】CSS实现div的高度填满剩余空间
转自:http://www.cnblogs.com/zhujl/archive/2012/03/20/2408976.html
高度自适应问题,我很抵触用js去解决,因为不好维护,也不够自然,但是纯用CSS,难度不小,比如下面我要说的例子。
需求:
1. 这个矩形的高度和浏览器窗口的高度相同,不能出现纵向滚动条
2. 绿色部分高度固定,比如50px
3. 紫色部分填充剩余的高度
HTML结构暂且如下:
nav
content
先看1.
html, body {
height: 100%
margin: 0px
padding: 0px
}
#main {
background-color: #999
height: 100%
}
需求2 也很容易:
#nav {
background-color: #85d989
height: 50px
}
需求3 是最让人头痛的,一般我们都会想到height:100%, 但是100%是以父元素的高度为准的,比如父元素的高度是300px,#nav占去了50px,#content理应是250px,但是写成height: 100%,结果就是#content的高度也变成了300%,出现了需求不允许的纵向滚动条。
当然,用js解决这种问题是相当简单的,但是这次我就是不想用js,下面就来试吧:
这个需求真的让我非常崩溃,看似简单,换了n种方式都觉得不靠谱,最后找到一种最接近理想效果的方法,如下
html, body {
height: 100%
margin: 0px
padding: 0px
}
#main {
background-color: #999
height: 100%
}
#nav {
background-color: #85d989
width: 100%
height: 50px
float: left
}
#content {
background-color: #cc85d9
height:100%
}
这里利用了浮动,最后的结果仅仅是看着没问题,当然了,如果你只是简单的展示文本和图片,这种方法已经够用了,但是如果你想用js做点交互,比如#content内部有个需要拖拽的元素,它的top最小值肯定不能是0,否则就被#nav挡住了,悲剧的是我就有这种需求,于是继续苦逼的试。
经过一天的尝试,加上高人指点,终于有解了,泪奔啊
#nav {
background-color: #85d989
width: 100%
height: 50px
}
#content {
background-color: #cc85d9
width: 100%
position: absolute
top: 50px
bottom: 0px
left: 0px
}
重点是要top和bottom一起使用,这是很反常规的用法,可以强制定义盒模型的区域,神奇啊
地图窗口常会遇到类似问题
css怎么让div的高度随着宽度按比例缩放常用的方法是通过背景图示的cover属性让div的高度随着宽度按比例缩放
#banner .bd li {
width: 100%
background-repeat:
no-repeat
background-size: cover
background-position: center
0
background-position: 50% 50%
-webkit-background-size:
100%
padding-: 42%
}
C#怎么让控制元件随窗体按比例缩放?你可否换个事件写缩放程式码?放到载入里面去
cad家俱怎么按比例缩放操作步骤如下:
命令: sc
SCALE
选择物件: 指定对角点: 找到 1 个
选择物件:
指定基点:
指定比例因子或 [复制(C)/参照(R)]: 2 (比例)
如何按比例缩放UIImageViewCAXA比例是非常方便的,你可以直接输入号码,你可以输入一个表示式,如取两件事情的长度扩大到5,输入比例因子:5/2,就可以了,这种方法并不特别适合知识这种情况放大系数。
按比例缩放需要用程式来完成,可以参照下面的程式:
@interface HYShowImageView : UIScrollView <UIScrollViewDelegate>
显示影象大图
-(void)showImage:(UIImage*)image inView:(UIView *)parentsView fromRect:(CGRect)rect
@end
-(void)showImage:(UIImage*)image inView:(UIView *)parentsView fromRect:(CGRect)rect
{
_oldRect = rect
[self setFrame:CGRectMake(0, 0, PHOTOWIDTH, PHOTOHEIGHT)]
self.showsHorizontalScrollIndicator = NO
self.showsVerticalScrollIndicator = NO
UIImageView *showView = [[UIImageView alloc] initWithFrame:_oldRect]
showView.contentMode = UIViewContentModeScaleAspectFit
[UIView animateWithDuration:0.5f animations:^{
[showView setFrame:CGRectMake(0, 0, PHOTOWIDTH, PHOTOHEIGHT)]
}]
[self setBackgroundColor:color_with_rgba(0, 0, 0, 1)]
[parentsView addSubview:self]
[showView setTag:'show']
[showView setImage:image]这个地方也可以用网路的图片
[self addSubview:showView]
增加两个手势
showView.userInteractionEnabled = YES
UITapGestureRecognizer* singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleSingleViewTap:)]
[self addGestureRecognizer:singleTap]
UIPinchGestureRecognizer* pinchGesture = [[UIPinchGestureRecognizer alloc] initWithTarget:self action:@selector(handlePinchView:)]
[self addGestureRecognizer:pinchGesture]
}
增加了两个手势,一个点选取消,一个缩放
移除图片检视检视
-(void)handleSingleViewTap:(UITapGestureRecognizer *)sender
{
[self setZoomScale:1.0 animated:NO]
[UIView animateWithDuration:0.5f animations:^{
UIImageView *showView = (UIImageView *)[self viewWithTag:'show']
showView.frame = _oldRect
self.backgroundColor = color_with_rgba(0, 0, 0, 0.0)
} pletion:^(BOOL finished){
[self removeFromSuperview]
}]
}
缩放图片
-(void)handlePinchView:(UIPinchGestureRecognizer *)sender
{
UIImageView *imageView = (UIImageView *)[self viewWithTag:'show']
if ([sender state] == UIGestureRecognizerStateBegan) {
_imageHWScale = imageView.image.size.height/imageView.image.size.width
_beganScale = self.zoomScale
}
[self setZoomScale:_beganScale * sender.scale]
if ([sender state] == UIGestureRecognizerStateEnded) {
[self scrollViewEnd]
}
}
- (void)scrollViewEnd
{
if (self.zoomScale <1.0) {
[self setZoomScale:1.0 animated:YES]
self.contentOffset = CGPointMake(0, 0)
} else if (self.zoomScale >3.0) {
[self setZoomScale:3.0 animated:YES]
}
}
把UIImageView放到UIScrollView中,将UIScrollViewDelegate中的- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView方法return这个imageView
js实现div盒子宽度和高度成比例缩放怎么写说一下思路:
等比例 就是要找出宽高的比。如果100/80
然后在缩放时,先缩放一个,然后用已知的宽高比算另一个值。