相册的布局同样使用到浮动float

这里同时使用到了html和css代码。

在编写代码时,由于排版不合理,产生了很多奇奇怪怪的结果,包括但不限于图片文字重叠、布局稀碎甚至会将已经按顺序排好的图片挤到移位……

好在最后在老师和同学们的帮助下厘清了位置排布,重新编写运行了代码。

附上浮动相关内容:

传统网页布局的三种方式:
1、普通流(标准流/文档流)
    标签按照规定好默认方式排列

1、块级元素会独占一行,从上向下顺序排列
    2、行内元素会按照顺序,从左到右顺序排列,碰到父元素边缘则自动换行

最基本的布局方式
这三种方式都是用来摆放盒子的,把盒子摆放到合适的位置
2、浮动

为什么需要浮动?
如何让三个div排列成一行?
    使用inline-block,会有空白缝隙,很难控制
很多布局效果,标准流无法实现,可以利用浮动完成布局,浮动可以改变元素默认的排列方式
可以让多个块级元素排列成一行

什么是浮动?
float属性用于创建浮动框,将其移动到一边,直到左边缘或右边缘触及包含块或另一个浮动框的边缘

语法:
选择器{
    float:属性值
}
可选值:
    left(左浮动)
    right(右浮动)
    none(不浮动)

浮动的特性(重要):
    1、浮动元素会脱离标准流
          浮动元素不会保留原来的位置
    2、浮动的元素会一行显示并且元素顶部对齐
          注意:浮动的元素是互相贴靠在一起的,如果父级元素宽度装不下这些盒子,多出的盒子会另起一行对齐
    3、浮动的元素会有行内块元素的特性
          任何元素都可以浮动,不管原先是什么元素类型,浮动后都有行内块的特性

浮动元素经常和标准流父级搭配使用
为了约束浮动元素的位置,我们网页布局一般采用的策略是:
    先用标准流的父元素排列上下位置后,内部子元素采取浮动排列左右位置

浮动的注意点:
    1、浮动和标准流的父盒子搭配
    2、一个元素浮动了,理论上其余的兄弟元素也要浮动
浮动的盒子只会影响浮动盒子后面的标准流,不会影响前面的标准流

清除浮动:
浮动元素的父元素必须设置一个高度,才能正常显示
理想状态:
    让子元素撑开父元素,父元素自适应宽高
为什么需要清除浮动?
父级盒子很多的情况下,不方便给高度,但是盒子浮动又不占有位置,父级盒子的高度就会变为0,那么就会影响后面的布局

如何清除浮动?
1、清除浮动的本质就是清除浮动元素造成的影响
2、如父盒子本身有高度,就不需要清除了
3、清除浮动后,父级就会根据浮动的盒子自动检测高度,就不会影响后面的布局了

语法:
    选择器{
    clear:left/right/both
    }
清除浮动的方法:
嵌套块元素的垂直外边距的塌陷
        父子元素,都设置了margin-top值,此时,只会有一个起作用,而且是只对父元素起作用,取较大的值

解决方法:
        1、给父元素添加border-top
        2、给父元素添加padding-top
        3、给父元素设置overflow:hidden
1、额外标签法
    在浮动元素末尾添加一个空标签(不能是行内元素),设置clear:both
    优点:通俗易懂,书写方便
    缺点:添加许多无意义的标签,结构化较差
2、父级添加overflow属性
    给父元素添加overflow属性,可以设置为hidden、auto、scroll
    优点:代码简洁
    缺点:无法显示溢出的部分
3、父级元素添加after伪元素
    :after方式是额外标签法的升级版,也是给父元素添加:
    .clearfix:after{
        content: "";
        display: block;
        height: 0;
        clear: both;
        visibility: hidden;
    }
    
    .clearfix{
        *zoom:1 //IE6、7专有
    }
    优点:
        没有增加标签,结构更简单
    缺点:    需要照顾低版本浏览器
4、父级添加双伪元素
    给父元素添加
    .clearfix:before,.clearfix:after{
        content:"";
        display:table;
    }

.clearfix:after{
        clear:both;
    }

.clearfix{
        *zoom:1
    }

优点:
        没有增加标签,结构更简单
    缺点:    需要照顾低版本浏览器

运行代码:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>相册鸭</title><link rel="stylesheet" href="F:/VS Code相关/浮动-个人相册.css">
</head><body><div id="first-row" class="box1"><div class="w box2">艺术摄影</div><div class="w box2">婚纱摄影</div><div class="w box2">纪实摄影</div><div class="w box2">儿童摄影</div><div class="w box2">摄影器材</div><div class="w box2">创意摄影</div><!-- <span class="w">艺术摄影</span><span class="w">婚纱摄影</span><span class="w">纪实摄影</span><span class="w">儿童摄影</span><span class="w">摄影器材</span><span class="w">创意摄影</span> --></div><div class="row2"><div id="second-row" class="row1"><div class="box3"><img src="F:/VS Code相关/images/objpic07.jpg" class="img"><div class="w2">摄影艺术</div></div><div class="box3"><img src="F:/VS Code相关/images/objpic02.jpg" class="img"><div class="w2">摄影艺术</div></div><div class="box3"><img src="F:/VS Code相关/images/objpic03.jpg" class="img"><div class="w2">摄影艺术</div></div></div><div id="third-row" class="row2"><div class="box3"><img src="F:/VS Code相关/images/objpic04.jpg" class="img"><div class="w2">摄影艺术</div></div><div class="box3"><img src="F:/VS Code相关/images/objpic05.jpg" class="img"><div class="w2">摄影艺术</div></div><div class="box3"><img src="F:/VS Code相关/images/objpic06.jpg" class="img"><div class="w2">摄影艺术</div></div></div><div id="fourth-row" class="row3"><div class="box3"><img src="F:/VS Code相关/images/objpic01.jpg" class="img"><div class="w2">摄影艺术</div></div><div class="box3"><img src="F:/VS Code相关/images/objpic08.jpg" class="img"><div class="w2">摄影艺术</div></div><div class="box3"><img src="F:/VS Code相关/images/objpic09.jpg" class="img"><div class="w2">摄影艺术</div></div></div></div></body></html>
.box1 {width: 1500px;height: 50px;text-align: center;line-height: 50px;
}.box2 {width: 80px;height: 50px;text-align: center;float: left;background-color: darkgrey;border: 2px solid white(210, 252, 163);
}.box3 {width: 300px;height: 200px;text-align: center;float: left;border: 10px solid white;
}.w {margin-left: 10px;color: honeydew;size: 2em;align-items: center;float: left;position: relative;
}.w2 {margin: 10px;color: rgb(7, 7, 7);size: 2em;align-items: center;position: relative;
}.row1 {width: 1500px;height: 300px;background-color: white;margin: 0 auto;margin-left: auto;margin-right: auto;/* border: 1px solid red; */
}.row2 {width: 1500px;height: 300px;background-color: white;margin: 0 auto;/* border: 1px solid red; */
}.row3 {width: 1500px;height: 300px;background-color: white;margin: 0 auto;/* border: 1px solid red; */
}.img {width: 300px;height: 200px;
}

成品展示:

前端基础之浮动个人相册相关推荐

  1. 前端基础知识第四章---CSS

    前言 ❤️ 生活中总有一些惊喜值得期待,只要我们一直保持着热爱 ❤️ 前端基础知识第四章---CSS 一.CSS 第四章 (1)浮动(float) 1.1 传统网页布局的三种方式 1.2 标准流(普通 ...

  2. 前端基础:CSS 3

    前端基础:CSS 3 文章目录 前言 一.什么是CSS 0. CSS的简单介绍 1. 什么是CSS 2. CSS发展史 3. CSS的快速入门及优势 4. 四种CSS导入方式 二.选择器 1. 三种基 ...

  3. 前端基础(HTML、CSS、JS)

    前端基础(HTML.CSS.JS) 1 HTML 1.1 文件标签 1.2 排版标签 1.3 字体标签 1.4 列表标记 1.4.1 有序列表 1.4.2 无序列表 1.5 图片标签 1.6 超链接标 ...

  4. 前端基础——CSS布局

    前端基础学习第三天 文章目录 前端基础学习第三天 一.CSS布局 1.margin(外边距) 2.padding(内边距) 3.position 4.float 二.布局实例 1.浮动布局 2.弹性布 ...

  5. 前端基础面试题(HTML + CSS)

    前端基础面试题(HTML + CSS) 1.行内元素和块级元素?img算什么?行内元素怎么转化为块级元素? 行内元素:和有他元素都在一行上,高度.行高及外边距和内边距都不可改变,文字图片的宽度不可改变 ...

  6. 11. 前端基础--CSS盒子定位

    文章目录 前端基础--CSS盒子定位 1. 再看CSS 布局的三种机制 2. 为什么使用定位? 3. 定位详解 3.1 边偏移 3.2 定位模式 (position) 静态定位(static) -了解 ...

  7. 前端基础:100道CSS面试题总结

    前言 CSS 是层叠样式表(Cascading Style Sheets)的简称.CSS 主要作用是美化网页.布局页面.CSS 规则主要由两个主要部分构成:选择器及一条或多条声明.在前端基础面试中,C ...

  8. 前端基础题集合---ing

    前端基础题集合---ing 阶段一: 阶段二: 阶段三: 阶段四: 阶段五: 阶段六: 阶段一: 1.为抵抗洪水,战士连续作战89小时,编程计算共多少天零多少小时? .... 2.小明要到美国旅游,可 ...

  9. WEB前端基础(HTML+CSS+JavaScript)(上)最好看最详细的笔记~

    WEB前端基础 当前部分是基于HTML与CSS总结,后续有JavaScript更新~ 文章目录 WEB前端基础 一.HTML概述(阶段1 入门概述) 1.HTML 二.第一个HTML页面 1.HTML ...

最新文章

  1. iOS网络开发之:NSURLConnection
  2. prerenderspaplugin 打包完成后如何让百度收录_如何提高网站流量、排名?
  3. java的语法知识_Java语法知识点
  4. 41、OrthoMCL和mcl软件进行基因家族分析
  5. print\println\printf的区别
  6. 武汉理工大学java,武汉理工大学 web技术基础
  7. Scanner的用法强化
  8. [转][读书笔记]深入理解java虚拟机
  9. 3.11 Ext JS 下拉框(Combobox)使用
  10. NLP学习—7.CNN与TextCNN
  11. 高通RFC适配RFFE-添加MIPI设备【转】
  12. Django 1.8.2 文档 1
  13. 漫谈程序猿系列:无BUG不生活
  14. SQL Server 查询哪些对象(表\视图\存储过程)包含有某些内容
  15. JavaScript高级程序
  16. java正则表达式 and_Java正则表达式详解
  17. 故障:Outlook 收发邮件时的 0x800CCC1A 错误
  18. 二十一世纪大学英语读写教程学习笔记(原文)——10 - Cloning: good Science or Baaaad Idea(克隆技术是好科学还是馊主意)
  19. 第六次meeting会议
  20. 复现论文常用函数(一)tf.one_hot,tf.train.batch,tf.train.shuffle_batch,数据读取机制,获取文件路径,Bunch等

热门文章

  1. Google Adsense 西联汇款
  2. 前端语法重温从0到1入门
  3. 二进制整数奇偶互换c语言,奇偶
  4. react项目中遇到的几个问题
  5. IMX6 LCD 参数匹配过程分析
  6. java将前端传给后端的文字写入到word中
  7. Win7系统安装Pycharm专业版
  8. 2022-2028年中国康复理疗行业市场发展现状及竞争格局预测报告
  9. poj 1324 Astar
  10. Codeforces1324D Pair of Topics (思维 + 二分)