CSS浮动
1.应用场景
- 文字环绕 图片+文字
- 横向排列 类似导航栏
修改float属性:
- left:元素靠上靠左
- right:元素靠上靠右
(默认值为none)
元素浮动后,必定为块盒
eg.<span>加float后
自动变为display:block
2.盒子尺寸
- 浮动:
1.宽度为auto时,适应内容宽度,不要求撑满 (常规流填满父内容区)
2.高度为auto时,与常规流一致,适应高度内容
3.margin 为auto时 0 (常规流里吸收剩余 )
4.边框 内边距 百分比 与常规流一样 百分比相对父元素内容盒
3.盒子排列
- 浮动:
1.浮动盒子在排列时 会避开常规流盒子
2.常规流盒子 无视 前面浮动盒
3.行盒排列时 避开浮动盒子
4.外边距合并不会发生
4.高度坍塌(问题)
eg.
<style>
.a{ background-color:lightblue;}
.b{ background-color:red;
width:100px; height:100px;}
</style>
<div class="a">
<div class="b">
</div>
</div>
.a < div > auto高度 与.b相同
若在.b中加入浮动
float:left;
.a高度变为0 即常规流盒子a自适应高度时不考虑浮动盒子
解决
清除浮动 css属性:clear
- none : 允许两边都可以有浮动对象
- both : 不允许有浮动对象
- left : 不允许左边有浮动对象
- right : 不允许右边有浮动对象
并非清除 是常规流 考虑浮动 然后撑开
杭电oj-2035
例3中数据溢出 不能用pow求幂
每次执行都与1000取模
保证数据最大为三位
#include<stdio.h>
int a[40][40];
int main()
{
int n,m,i,s;
while(scanf("%d%d",&n,&m)!=EOF&&(n!=0&&m!=0))
{
s=1;
for(i=0;i<m;i++)
{
s=s*n;
s=s%1000;
}
printf("%d\n",s);
}
return 0;
}