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 ...
随机推荐
- OpenCV-Python 交互式前景提取使用GrabCut算法 | 三十五
目标 在本章中, 我们将看到GrabCut算法来提取图像中的前景 我们将为此创建一个交互式应用程序. 理论 GrabCut算法由英国微软研究院的Carsten Rother,Vladimir Kolm ...
- PySpark初级教程——第一步大数据分析(附代码实现)
概述 数据正以前所未有的速度与日俱增 如何存储.处理和使用这些数据来进行机器学习?spark正可以应对这些问题 了解Spark是什么,它是如何工作的,以及涉及的不同组件是什么 简介 我们正在以前所未有 ...
- Soldier and Number Game CodeForces - 546D 素因子数打表(素数筛的改造)
题意: 输入 a 和 b(a>b),求a! / b!的结果最多能被第二个士兵给的数字除多少次. 思路: a! / b!肯定能把b!约分掉,只留下b+1~a的数字相乘,所以我们求b+1 ~ a的所 ...
- 深入理解Java AIO(二)—— AIO源码解析
深入理解Java AIO(二)—— AIO源码解析 这篇只是个占位符,占个位置,之后再详细写(这个之后可能是永远) 所以这里只简单说一下我看了个大概的实现原理,具体的等我之后更新(可能不会更新了) 当 ...
- [vios1023]维多利亚的舞会3<强联通分量tarjan>
题目链接:https://vijos.org/p/1023 最近在练强联通分量,当然学的是tarjan算法 而这一道题虽然打着难度为3,且是tarjan算法的裸题出没在vijos里面 但其实并不是纯粹 ...
- phpwind 安装下一步空白解决方案
系统版本 centos 翻阅网上大部分都是php版本问题,让降级就行了,试了之后根本不行 其实再安装一个插件即可成功 如下: yum install -y php-mysql
- STL之map与pair与unordered_map常用函数详解
STL之map与pair与unordered_map常用函数详解 一.map的概述 map是STL的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在map中出现一次,第二个可能称 ...
- 3.26java作业
1.编写程序, 输入变量x的值,如果是1,输出x=1,如果是5,输出x=5,如果是 10,输出 x=10,除了以上几个值,都输出x=none.(知识点:if条件语句) package fda; imp ...
- ElementUI el-input标签 绑定keyup事件v-on:keyup.enter="convert"无效解决方案
期望实现,输入数字后,回车直接执行点击按钮"转换" 无效写法: <el-input v-model="input" placeholder="请 ...
- ceph概述
ceph概述 基础知识 什么是分布式文件系统 • ...