一.浮动(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+居中问题的更多相关文章

  1. CSS盒子模型(boeder)+浮动(float)+定位(position)

    盒子的上下层:margin--background-color--background-image--padding--content--border(最外层) 计算一个盒子宽 =  内容的宽(wid ...

  2. CSS中的浮动和定位

    在了解CSS中的浮动和定位之前有必要先了解清楚标准流和脱离标准流的特性 标准流的默认特性 1.分行.块级元素,并且能够dispay转换. 2.块级元素(block):默认独占一行,不能并列显示,能够设 ...

  3. CSS 中,用 float 和 position 的区别是什么?

    CSS 中,用 float 和 position 的区别是什么? 呃,其实这个命题有误,只有position才是定位,float不能说是定位,不过你可以说这两种布局方式有什么不同.float和posi ...

  4. CSS进阶内容—浮动和定位详解

    CSS进阶内容-浮动和定位详解 我们在学习了CSS的基本知识和盒子之后,就该了解一下网页的整体构成了 当然如果没有学习之前的知识,可以到我的主页中查看之前的文章:秋落雨微凉 - 博客园 CSS的三种布 ...

  5. CSS基础知识---浮动,定位和盒模型

    转载请注明出处! 需要掌握的三个最重要的CSS概念是浮动,定位和盒模型. 盒模型概述: 页面上的每个元素都被看做一个矩形框(元素框or盒模型),这个框由元素内容,内边距,边框和外边距组成. 内边距出现 ...

  6. CSS布局模型学习(Float、Position、Flexbox)

    一.Floatfloat 属性定义元素在哪个方向浮动.以往这个属性总应用于图像,使文本围绕在图像周围,不过在 CSS 中,任何元素都可以浮动.浮动元素会生成一个块级框,而不论它本身是何种元素. 清除浮 ...

  7. CSS 盒子模型及 float 和 position

    ## CSS和模型 ##CSS盒模型本质上是一个盒子,封装周围的 HTML 元素,包括 外边距(marign),边框(border),填充(padding),内容物(content) 盒子模型的类型: ...

  8. 前端开发—CSS 盒子、浮动、定位

    盒子模型 margin padding border content margin:            用于控制元素与元素之间的距离:body自带 8 像素的margin 需要手动去除.(快递盒之 ...

  9. css最终章之浮动、定位、溢出属性处理、z-index属性、透明度

    上期内容回顾 CSS简介 # 主要就是给HTML标签添加样式 # 固定语法结构 选择器 {属性名1:属性值;属性名2:属性值} 三种引用方式 1.link标签引入外部css文件(最正规) 2.HTML ...

随机推荐

  1. 使用TensorFlow v2张量的一个简单的“hello world”示例

    使用TensorFlow v2张量的一个简单的"hello world"示例 import tensorflow as tf # 创建一个张量 hello = tf.constan ...

  2. 初步进入linux世界

    [Linux 系统启动过程] Linux的启动其实和windows的启动过程很类似,不过windows我们是无法看到启动信息的,而linux启动时我们会看到许多启动信息,例如某个服务是否启动. Lin ...

  3. 1.用eclipse创建maven工程

    第一步.File→New→Maven Project (需要下载安装配置Maven等,这些步骤省略) (找不到的话选Other,里面的Maven文件夹里有) 二.记得勾选上,然后点Next 三.填完点 ...

  4. Java 类加载器解析及常见类加载问题

    Java 类加载器解析及常见类加载问题 java.lang.ClassLoader 每个类加载器本身也是个对象--一个继承 java.lang.ClassLoader 的实例.每个类被其中一个实例加载 ...

  5. /usr/lib/jvm/java-1.8.0-openjdk/release 没有这个文件或目录

    在Java1.8以上,安装以后再安装目录是自动生成一个release文件,用于记录Java和系统信息.但是在centos中,如果你的Java是在安装系统时选择自动安装的,那么在标题那个目录下,也就是j ...

  6. 原生js弹力球

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  7. 根据域名查注册人信息,查询邮箱下注册过哪些IP,社工渗透,获取个人信息

    根据域名查询注册人信息 举个例子.随便找一个网站 iappp.cn 通过whois查询,得到以下信息 我们可以得知这个域名的注册商(腾讯云),以及注册人真实姓名(也有可能是假的),还有注册人邮箱等等一 ...

  8. PTA | 1019 数字黑洞 (20分)

    给定任一个各位数字不完全相同的 4 位正整数,如果我们先把 4 个数字按非递增排序,再按非递减排序,然后用第 1 个数字减第 2 个数字,将得到一个新的数字.一直重复这样做,我们很快会停在有" ...

  9. MySQL 学习之查漏补缺

    1.InnoDB 相关知识点 InnoDB 引擎是将数据划分为若干数据页,页大小一般16 KB,16384个字节. 插入数据是以记录为单位,这些记录在磁盘的存放方式称之为 行格式/记录格式,有 com ...

  10. 【PHP】数组

    一.生活中的数组: a)    教室的座位:第一天来教室的时候,每个座位上都有自己的一个名字,我们可以通过这个名字快速定位到自己的座位在什么位置! b)    电影院的座位:我们买了电影票之后,能够通 ...