HTML+CSS教程(六)浮动-float+定位-position+居中问题
一.浮动(float)
1.文档流:是指盒子按照 html 标签编写的顺序依次从上到下,从左到右排列,块元素占一行,行内元素在一行之内从左到右排列,先写的先排列,后写的排在后面,每个盒子都占据自己的位置.
2.浮动的概念:所谓的浮动就是指元素脱离文档流,漂浮到文档流的上方,不会占据位置。
3.浮动的特性:
(1).浮动元素有左浮动(float:left)和右浮动(float:right)两种.
(2).浮动的元素会向左或向右浮动,碰到父元素边界,浮动元素,未浮动的元素才停下来.
(3).相邻浮动的块元素可以并在一行,超出父级宽度就换行.
(4).浮动让行内元素或块元素自动转化为行内块元素.
(5).浮动元素后面没有浮动的元素会占据浮动元素的位置,没有浮动的元素内的文字会避开浮动的元素,形成文字饶图的效果.
(6).父元素内整体浮动的元素无法撑开父元素,需要清除浮动.
(7).浮动元素之间没有垂直 margin 的合并.
4.清除浮动
(1).父级上增加属性 overflow:hidden
(2).在最后一个子元素的后面加一个空的 div,给它样式属性 clear:both(不推荐)
(3).伪对象选择器:
以下的属性content必须和after以及before使用,
父元素::after,
父元素before{
content:’’;
display:table;//这是一种以css布局呈现的属性设置具备表格划分的特性以及表格属性//
}
二.定位(position)
1.定位: 设置元素在html文档流中的位置.
2.相对定位:relative 生成相对定位元素,元素所占据的文档流的位置不变,元素本身相对文档流的位置进行偏移 .
3.绝对定位:absolute 生成绝对定位元素,元素脱离文档流,不占据文档流的 位置,可以理解为漂浮在文档流的上方,相对于上一个设置了相对或者绝对或者固定定位的父级元素来进行定位,如果找不到,则相对于body元素进行定位.
4.固定定位:fixed 生成固定定位元素,元素脱离文档流,不占据文档流的位置,可以理解为漂浮在文档流的上方,相对于浏览器窗口进行定位.
5.static 默认值,没有定位,元素出现在正常的文档流中,相当于取消定位属性或者不设置定位属性.
6. inherit 从父元素继承 position属性的值.
7. 定位元素特性 :绝对定位和固定定位的块元素和行内元素会自动转化为行内块元素.
8. 定位元素层级 :定位元素是浮动的正常的文档流之上的,可以用 z-index 属性来设置元素的层级(absolute一起使用).
三.css中元素对齐的方式
1.一个div在另外一个div中的垂直居中
(1)
- .wrap{
- width: 400px;
- height: 400px;
- background: pink;
- margin: 50px auto;
- //以下水平对齐方式和内联块元素一并使用//
- text-align: center;
- overflow: hidden;
- //padding-top: 100px;//
- }
- .con{
- //将子元素转换成内联块元素,目的是为了设置水平居中显示//
- display: inline-block;
- width: 200px;
- height: 200px;
- background: red;
- margin-top: 100px;
- }
- ...........
- <div class="wrap">
- <div class="con"></div>
- </div>
(2).大小一样的div
- .wrap1{
- width: 200px;
- height: 200px;
- background: red;
- padding: 30px;(利用padding,前提大小一样)
- }
- .con1{
- width: 200px;
- height: 200px;
- background: green;
- }
- ...............
- <div class="wrap1">
- <div class="con1"></div>
- </div>
(3)
- .wrap2{
- width: 200px;
- height: 200px;
- background: deeppink;
- margin: auto;
- position: relative;
- }
- .con2 {
- width: 100px;
- height: 100px;
- background: green;
- position: absolute;
- //第一种设置垂直居中方式//
- //left: 0;
- right: 0;
- top: 0;
- bottom: 0;
- margin: auto;//
- //第二种设置垂直居中的方式//
- left: 50%;
- top: 50%;
- //margin-left: -50px;
- margin-top: -50px;//
- margin: -50px 0px 0px -50px;
- }
- ................
- <div class="wrap2">
- <div class="con2"></div>
- </div>
2.设置图片垂直居中方式
给图片添加 vertical-align: middle;同时给父元素添加text-align: center;和 line-height
- .wrap3{
- width: 400px;
- height: 400px;
- background: pink;
- /*position: relative;*/
- text-align: center;
- line-height: 400px;
- }
- img{
- width: 200px;
- height: 200px;
- border: 1px solid red;
- /*设置图片垂直居中方式*/
- vertical-align: middle;
- }
- ....................
- <div class="wrap3">
- <img src="img/InLett-logo.png" />
- </div>
HTML+CSS教程(六)浮动-float+定位-position+居中问题的更多相关文章
- CSS盒子模型(boeder)+浮动(float)+定位(position)
盒子的上下层:margin--background-color--background-image--padding--content--border(最外层) 计算一个盒子宽 = 内容的宽(wid ...
- CSS中的浮动和定位
在了解CSS中的浮动和定位之前有必要先了解清楚标准流和脱离标准流的特性 标准流的默认特性 1.分行.块级元素,并且能够dispay转换. 2.块级元素(block):默认独占一行,不能并列显示,能够设 ...
- CSS 中,用 float 和 position 的区别是什么?
CSS 中,用 float 和 position 的区别是什么? 呃,其实这个命题有误,只有position才是定位,float不能说是定位,不过你可以说这两种布局方式有什么不同.float和posi ...
- CSS进阶内容—浮动和定位详解
CSS进阶内容-浮动和定位详解 我们在学习了CSS的基本知识和盒子之后,就该了解一下网页的整体构成了 当然如果没有学习之前的知识,可以到我的主页中查看之前的文章:秋落雨微凉 - 博客园 CSS的三种布 ...
- CSS基础知识---浮动,定位和盒模型
转载请注明出处! 需要掌握的三个最重要的CSS概念是浮动,定位和盒模型. 盒模型概述: 页面上的每个元素都被看做一个矩形框(元素框or盒模型),这个框由元素内容,内边距,边框和外边距组成. 内边距出现 ...
- CSS布局模型学习(Float、Position、Flexbox)
一.Floatfloat 属性定义元素在哪个方向浮动.以往这个属性总应用于图像,使文本围绕在图像周围,不过在 CSS 中,任何元素都可以浮动.浮动元素会生成一个块级框,而不论它本身是何种元素. 清除浮 ...
- CSS 盒子模型及 float 和 position
## CSS和模型 ##CSS盒模型本质上是一个盒子,封装周围的 HTML 元素,包括 外边距(marign),边框(border),填充(padding),内容物(content) 盒子模型的类型: ...
- 前端开发—CSS 盒子、浮动、定位
盒子模型 margin padding border content margin: 用于控制元素与元素之间的距离:body自带 8 像素的margin 需要手动去除.(快递盒之 ...
- css最终章之浮动、定位、溢出属性处理、z-index属性、透明度
上期内容回顾 CSS简介 # 主要就是给HTML标签添加样式 # 固定语法结构 选择器 {属性名1:属性值;属性名2:属性值} 三种引用方式 1.link标签引入外部css文件(最正规) 2.HTML ...
随机推荐
- 优化Python代码的4种方法
介绍 作为数据科学家,编写优化的Python代码非常非常重要.杂乱,效率低下的代码即浪费你的时间甚至浪费你项目的钱.经验丰富的数据科学家和专业人员都知道,当我们与客户合作时,杂乱的代码是不可接受的. ...
- NLPer入门指南 | 完美第一步
介绍 你对互联网上的大量文本数据着迷吗?你是否正在寻找处理这些文本数据的方法,但不确定从哪里开始?毕竟,机器识别的是数字,而不是我们语言中的字母.在机器学习中,这可能是一个棘手的问题. 那么,我们如何 ...
- 用Arcgis缓存文件发布服务
切片文件类型为: 其中_alllayers中为各等级的切片文件,xml文件为切片信息(级别).发布服务的步骤如下: 1.将文件拷贝到服务器上: 2.将gdb和xml文件拷贝出来,放到桌面上: 3.打开 ...
- 本地缓存Ehcache
1,什么是Ehcache Ehcache是纯java的开源缓存框架,具有快速.精干等特点,是Hibernate中默认的CacheProvider.它主要面向通用缓存.Java EE和轻量级容器, ...
- .NET 5 中的正则引擎性能改进(翻译)
前言 System.Text.RegularExpressions 命名空间已经在 .NET 中使用了多年,一直追溯到 .NET Framework 1.1.它在 .NET 实施本身的数百个位置中使用 ...
- Premultiplied Alpha
Xcode 的工程选项里有一项 Compress PNG Files,会对 PNG 进行 Premultiplied Alpha.游戏开发中会更加关注这个格式,省一些运行时计算. Premultipl ...
- iOS App的启动过程
一.mach-O Executable 可执行文件 Dylib 动态库 Bundle 无法被连接的动态库,只能通过 dlopen() 加载 Image 指的是 Executable,Dylib 或者 ...
- ES6规范及语法基础
var的特点 函数作用域 let的特点 没有变量提升,必须先声明.再调用 同一个作用域下不可以重复定义同一个名称 块级作用域 function fun(){ let a = 10 if(true){ ...
- node.js 实现接口-操作文件进行用户增删改查
首先安装npm,使用npm安装express npm install express -S /* * @Author: yinxin * @Date: 2020-03-27 10:18:41 * @L ...
- API参数如何验证?别纠结,拿去用就是
今天我们主要分享项目实战中,另一种常用的参数校验框架 Hibernate Validator,请准备好小板凳,我们的分享开始. 1. 是啥? 先抛一张图,锻炼一下你的观察力. 通过上图有没有发现,数据 ...