布局-float布局

布局type

  1. 固定宽度
  2. 不固定宽度
  3. 响应式(pc:固定 手机:不固定)

css type

  1. float
  2. flew
  3. grid


    图片来源饥人谷网课

    上图为选用原则

float

  1. 子元素加float:left和width
  2. 父元素命名为.clearfix,然后
.clearfix:after{
  content: "";
  display: block;
  clear: both;
}
.clearfix{
  border: 1px black solid;}

就可以包住child div了。(注意border分开写)

经验

  1. 最后一个子级div留些空间或者不设width。设一个最大宽度就可了。
  2. float做不出响应式的,是为了ie设计。
  3. ie 6/7有bug,会有双倍margin的情况,解决的方法:
  • 将错就错,把margin输入为原来1/2就好。
    *加一个display:inline-block;
  1. 图片下面有多余部分:
    下面有多出来的

    加上vertical-align:top;就好了。
  2. 有时候无法居中对应:奇数px高度的素材与偶数px高度的无法对应的。
  3. 可以用outline代替border调试,因为border会增加素材的宽度和高度,eg一个1px border的素材width设置成100px,但是实际有102px。
  4. 块元素居中:```
    margin-top:"auto";
    margin-left:"auto";
8. 素材的宽度以及他们的间距:列方程试出来一个不是小数的就可了
9.负margin使用技巧

可以看到child的width为100px,margin是20px,如果没有负margin,就会这样。
![这里的负margin没有写全px不生效的](https://upload-images.jianshu.io/upload_images/19247518-c054dd6e18af05b4.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
可以看到明明3*100+20*2是340,但是容纳不下,这就是这样的。所以要使用负margin来进行容纳。
![负的margin-left](https://upload-images.jianshu.io/upload_images/19247518-852a7855d08a6a9a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
可以看到加了之后容纳下来了。
具体使用方法:
在父子元素中间再加一个元素,让他不仅是clearfix,而且还是命名为demo,然后对这个x进行

.demo{
float: left;
margin-left: -20p;
}

就OK了。
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 各种纯css图标 CSS3可以实现很多漂亮的图形,我收集了32种图形,在下面列出。直接用CSS3画出这些图形,要比...
    剑残阅读 13,296评论 0 8
  • 1. 默认的内外边距不同 问题: 各个浏览器默认的内外边距不同 解决: *{margin:0;padding:0;...
    jslxm阅读 4,298评论 0 2
  • CSS对浏览器的兼容性有时让人很头疼,或许当你了解当中的技巧跟原理,就会觉得也不是难事,从网上收集了IE7,6与F...
    心淡然如水阅读 4,966评论 0 0
  • CSS技巧 1.div的垂直居中问题 vertical-align:middle; 将行距增加到和整个DIV一样高...
    tiandashu阅读 2,563评论 0 2
  • 读万卷书,不如行万里路;行万里路,不如阅人无数;阅人无数,不如名师指路; 你是否也有职场迷茫期,找不到未来的方向?...
    上善若水止于至善阅读 6,623评论 22 35

友情链接更多精彩内容