前端基础之浮动个人相册
相册的布局同样使用到浮动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;
}
成品展示:
前端基础之浮动个人相册相关推荐
- 前端基础知识第四章---CSS
前言 ❤️ 生活中总有一些惊喜值得期待,只要我们一直保持着热爱 ❤️ 前端基础知识第四章---CSS 一.CSS 第四章 (1)浮动(float) 1.1 传统网页布局的三种方式 1.2 标准流(普通 ...
- 前端基础:CSS 3
前端基础:CSS 3 文章目录 前言 一.什么是CSS 0. CSS的简单介绍 1. 什么是CSS 2. CSS发展史 3. CSS的快速入门及优势 4. 四种CSS导入方式 二.选择器 1. 三种基 ...
- 前端基础(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 超链接标 ...
- 前端基础——CSS布局
前端基础学习第三天 文章目录 前端基础学习第三天 一.CSS布局 1.margin(外边距) 2.padding(内边距) 3.position 4.float 二.布局实例 1.浮动布局 2.弹性布 ...
- 前端基础面试题(HTML + CSS)
前端基础面试题(HTML + CSS) 1.行内元素和块级元素?img算什么?行内元素怎么转化为块级元素? 行内元素:和有他元素都在一行上,高度.行高及外边距和内边距都不可改变,文字图片的宽度不可改变 ...
- 11. 前端基础--CSS盒子定位
文章目录 前端基础--CSS盒子定位 1. 再看CSS 布局的三种机制 2. 为什么使用定位? 3. 定位详解 3.1 边偏移 3.2 定位模式 (position) 静态定位(static) -了解 ...
- 前端基础:100道CSS面试题总结
前言 CSS 是层叠样式表(Cascading Style Sheets)的简称.CSS 主要作用是美化网页.布局页面.CSS 规则主要由两个主要部分构成:选择器及一条或多条声明.在前端基础面试中,C ...
- 前端基础题集合---ing
前端基础题集合---ing 阶段一: 阶段二: 阶段三: 阶段四: 阶段五: 阶段六: 阶段一: 1.为抵抗洪水,战士连续作战89小时,编程计算共多少天零多少小时? .... 2.小明要到美国旅游,可 ...
- WEB前端基础(HTML+CSS+JavaScript)(上)最好看最详细的笔记~
WEB前端基础 当前部分是基于HTML与CSS总结,后续有JavaScript更新~ 文章目录 WEB前端基础 一.HTML概述(阶段1 入门概述) 1.HTML 二.第一个HTML页面 1.HTML ...
最新文章
- iOS网络开发之:NSURLConnection
- prerenderspaplugin 打包完成后如何让百度收录_如何提高网站流量、排名?
- java的语法知识_Java语法知识点
- 41、OrthoMCL和mcl软件进行基因家族分析
- print\println\printf的区别
- 武汉理工大学java,武汉理工大学 web技术基础
- Scanner的用法强化
- [转][读书笔记]深入理解java虚拟机
- 3.11 Ext JS 下拉框(Combobox)使用
- NLP学习—7.CNN与TextCNN
- 高通RFC适配RFFE-添加MIPI设备【转】
- Django 1.8.2 文档 1
- 漫谈程序猿系列:无BUG不生活
- SQL Server 查询哪些对象(表\视图\存储过程)包含有某些内容
- JavaScript高级程序
- java正则表达式 and_Java正则表达式详解
- 故障:Outlook 收发邮件时的 0x800CCC1A 错误
- 二十一世纪大学英语读写教程学习笔记(原文)——10 - Cloning: good Science or Baaaad Idea(克隆技术是好科学还是馊主意)
- 第六次meeting会议
- 复现论文常用函数(一)tf.one_hot,tf.train.batch,tf.train.shuffle_batch,数据读取机制,获取文件路径,Bunch等