今天在这里跟大家分享css基础最核心的部分,浮动和定位。话不多说,直接上干货!

一、浮动

  • 定义:定位元素是相对于其正常位置应该出现的位置。定位元素的位置是相对于自身、父级元素位置、其他元素以及浏览器窗口本身的位置。
  • 定位主要分为文档流定位、浮动、相对定位、绝对定位、固定定位
  • 浮动主要解决的是行内元素在一行内显示的问题
  • 属性:float  left表示左浮动  right表示右浮动
  • 浮动的问题:
    • 浮动元素是脱离文档流的(不占据页面空间)
    • 浮动只能往左浮动或右浮动,或者停靠在以及浮动元素的边缘上
    • 浮动元素一定要有包含框(父元素)
    • 浮动元素默认不会换行,除非包含框的宽度不足以放下所有的浮动元素,那么后面的元素就会默认换行。
    • 浮动元素的高度最好要保持一致,如果不一致就会浮不上去,出现问题。
    • 如果多个快元素需要在一行内显示,一定要全部都浮动。
    • 元素一旦浮动后,就会快元素(脱离文档流的元素也会变成快元素)。
    • 元素一旦浮动,那么他的宽度就会变成自适应。
  • 浮动造成包含框高度塌陷的问题:
    • 注释:当一个父元素里面的所有子元素都浮动,且父元素没有设置高度,这个时候由于浮动元素脱离文档流,所有造成父元素中没有内容撑开高度。
  • 清除浮动带来的影响:
    • 属性:clear  不是真正的解决问题,只是解决布局混乱的问题。
    •  属性值:  

      • left  清除元素左浮动所带来的影响
      • right  清除元素右浮动所带来的影响
      • both   清除元素左右浮动所带来的影响
  • 清除浮动的方法:解决包含框高度塌陷的问题。
    • 手动设置包含框的高度
    • overflow:hidden撑开父元素的高度
    • 父元素内部最后加一个空的快元素,设置clear:both
    • 内容生成:可以通过向某个元素的前面后者后面加入一个标签

        元素:before {

        content:“插入元素的文本内容”

             width:;

          height:;

          background:;

        }

二、定位

  • 定义:定位主要分为文档流定位、相对定位、绝对定位、固定定位。
  • 属性:position

    • static表示的是静态定位(文档流定位)
    • relative表示的是相对定位
    • absolute表示的是绝对定位
    • fixed表示的是固定定位
  • 何为定位元素:position属性为relative、absolute、fixed。元素定位后,只是让元素可以移动了,真正实现让元素位置的移动,需要配合位移属性。
  • 位移属性:
    • left:距离定位基点左边的距离;正值往右跑,负值往左跑。
    • right:距离定位基点右边的距离;正值往左跑,负值往右跑。
    • top:距离定位基点上边的距离;正值往下跑,负值往上跑。
    • bottom:距离定位基点下边的距离;正值往上跑,负值往下跑。
  • 属性单位:px或者百分比
  • 注意:
    • 一般情况下水平方向和垂直方向位移属性只有一个方向值只有一个
    • 如果left  right同时出现,以left为准
    • 如果top  bottom同时出现,以top为准

重点:

  • 相对定位:

    • 定位基点:基于当前元素未移动前的位置
    • 注意:移动后依然占据着空间,没有脱离文档流。
    • 使用场景:微调元素位置;配合绝对定位
  • 绝对定位:
    • 方向值

      • top:距离定位基点最上边的距离
      • bottom: 距离定位基点最下面的距离
      • left:距离定位基点最左边的距离
      • right:距离定位基点最右边的距离
    • 定位基点:距离最近的已经定位的祖先元素,如果没有默认Html/body。一般定位基点都是加相对定位的。
    • 注意:绝对定位会让元素脱离文档流,不占据页面空间,且会变成快元素,宽度会变成自适应。
    • 使用场景:常用于各种弹出框和页面布局。
  • 固定定位:
    • 定位基点:页面可视区
    • 备注:其他的跟绝对定位一样,也会脱离文档流,也会变成快元素,宽度会变成自适应。
    • 使用场景:页面侧边栏

 完结! 

css基础5的更多相关文章

  1. 前端开发:css基础知识之盒模型以及浮动布局。

    前端开发:css基础知识之盒模型以及浮动布局 前言 楼主的蛮多朋友最近都在学习html5,他们都会问到同一个问题 浮动是什么东西?  为什么这个浮动没有效果?  这个问题楼主已经回答了n遍.今天则是把 ...

  2. CSS基础总结

    CSS基础总结链接地址:http://segmentfault.com/a/1190000002773955

  3. CSS基础篇之了解CSS和它的基本属性

    CSS是什么? CSS英文全名是Cascading Style Sheets翻译过来就是层叠样式表,它主是把网页表现与内容分离的一种样式设计语言.这种语言能优化我们编程,把东西简化和优化写法,而且不同 ...

  4. HTML5 -入门 (---css样式-------------(css基础与css选择器)---------------------—)

    ---恢复内容开始--- 一css基础入门与css选择器 CSS英文全拼:cascading style sheet 层叠样式表. 在html中使用:要在head中写style标签,所有样式放在sty ...

  5. css 基础---选择器

    1.css基础 selector {property: value} eg: h1 {color:red; font-size:14px;} p { text-align: center; color ...

  6. 妙味课堂——HTML+CSS基础笔记

    妙味课堂的课程讲得非常的清楚,受益匪浅.先把HTML和CSS基础课程部分视频的学习笔记记录如下: padding #PS基础 ##前端需要的PS技能 - PS技能(前端需要):切图.修图.测量 - P ...

  7. WEB前端开发CSS基础样式全面总结

    Web前端开发css基础样式全面总结 颜色和单位的使用 颜色 用颜色的名字表示颜色,比如:red 用16进制表示演示 比如:#FF0000 用rgb数值表示颜色,rgb(红,绿,蓝),每个值都在0-2 ...

  8. css基础不扎实

    写了两周的网页,发现自己的css基础还是很差的,当时培训学习的时候就发现了,我做的页面都特别的别扭和丑吧,在班级上应该是垫底的: 原先只知道用float,不会使用定位,网页连固定定位也不会,现在发现, ...

  9. css基础总结一

    最近在弄一个简单管理系统的前端,所以打算将做项目的一些个人感想以及总结简单罗列下,当然,主要针对前端的基础部分以及一些常用的前端个人简单技巧总结.主要分为js部分和css部分,下面是css的基础部分总 ...

  10. CSS基础教程 -- 媒体查询屏幕适配

    响应式布局 Media Query 的使用方法 在上例中, 我们使用Media Queries来根据3种不同尺寸的窗口使用3种不同的样式.通过不同的媒体类型和条件定义样式表规则,媒体查询让CSS可以更 ...

随机推荐

  1. no identifier specified for entity错误

    未给entity类添加主键造成. 之前出现这个错误是因为忘记给id添加@Id标签.

  2. MongoDB.Driver 管道 Aggregate

    目前mongodb for C#这个驱动,在进行Aggregate时,只支持BsonDocument类型,也就是说,你的集合collection也必须返回的是BsonDocument,而实体类型是不可 ...

  3. WebAPI服务端内嵌在CS程序里面

    有时候我们不需要将WebAPI发布到iis上运行,需要将webapi内嵌到cs程序内部,随程序一起启动,其实比较简单,需要一个类,如下 public class Startup { public st ...

  4. 设计模式——(Abstract Factory)抽象工厂“改正为简单工厂”

    设计面向对象软件比较困难,而设计可复用的面向对象软件就更加困难.你必须设计相关类,并设计类的接口和继承之间的关系.设计必须可以解决当前问题,同时必须对将来可能发生的问题和需求也有足够的针对性.掌握面向 ...

  5. GCC链接库的一个坑:动态库存在却提示未定义动态库的函数

    背景 在GCC中已经指定链接库,然而编译时却提示动态库函数未定义! 测试出现的错误提示如下: [GMPY@13:48 tmp]$gcc -o test -L. -lmylib test.c /tmp/ ...

  6. 八大排序算法 JAVA实现 亲自测试 可用!

    今天很高兴 终于系统的实现了八大排序算法!不说了 直接上代码 !代码都是自己敲的, 亲测可用没有问题! 另:说一下什么是八大排序算法: 插入排序 希尔排序 选择排序 堆排序 冒泡排序 快速排序 归并排 ...

  7. WebFlux 集成 Thymeleaf 、 Mongodb 实践 - Spring Boot(六)

    这是泥瓦匠的第105篇原创 文章工程: JDK 1.8 Maven 3.5.2 Spring Boot 2.1.3.RELEASE 工程名:springboot-webflux-5-thymeleaf ...

  8. spark 源码分析之四 -- TaskScheduler的创建和启动过程

    在 spark 源码分析之二 -- SparkContext 的初始化过程 中,第 14 步 和 16 步分别描述了 TaskScheduler的 初始化 和 启动过程. 话分两头,先说 TaskSc ...

  9. 【时间工具】整理下java时间换算专题

    首先总结了一下日期转换基础,最常用的两个工具类Date与calender,转换方法如下: package com.zzt.spider; import java.text.SimpleDateForm ...

  10. 点菜网---Java开源生鲜电商平台-商品基础业务架构设计-商品分类(源码可下载)

    点菜网---Java开源生鲜电商平台-商品基础业务架构设计-商品分类 (源码可下载) 说明:我们搞过电商的人都可以体会到,搞生鲜电商是最复杂的,为什么复杂呢?我总结了有以下几个业务特性决定的: 1. ...