CSS的学习4(盒子模型及浮动)

news2024/11/25 0:36:46

CSS的学习3:http://t.csdn.cn/xDxIJ

盒子模型

网页布局过程

  1. 先准备好相关的网页元素,网页元素基本都是盒子Box
  2. 利用CSS设置好盒子样式,然后摆放到相应位置
  3. 往盒子里面装内容

封装周围的HTML元素:

边框(border)

内容(content)

内边距(padding):如果盒子已经有了宽度和高度,再指定内边框,会撑大盒子

外边距(margin)

CSS边框允许指定元素边框的样式和颜色(四个边)

外边框简写:(没有顺序)

border:1px solid red;

内边距简写:

padding:5px;//上下左右是5px

padding:5px  10px;//上下是5px

padding:5px  10px  20px;//上是5px,左右是10px,下是20px

padding:5px  10px  20px  30px;//上是5px右10px下20px  左30px(顺时针)

外边距简写意义与padding一致

单独设置一个边框或边距:

border-left,border-right,border-top,border-bottom

padding-left,padding-right,padding-top,padding-bottom

margin-left,margin-right,margin-top,margin-bottom

外边距可以让块级盒子水平居中,但是需要满足:

  • 盒子必须指定了宽度(width)
  • 盒子左右的外边距都设置为auto

三种写法:

  • margin:0 auto;
  • margin-left:auto;margin-right:auto;
  • margin:auto;

让行内元素或者行内块元素水平居中给其父元素添加text-align:center即可

外边距合并

嵌套元素垂直外边距的塌陷:

对于两个嵌套关系(父子关系)的块元素,父元素有上外边距,同时子元素上也有上外边距,此时父元素会塌陷较大的外边距值。

解决方案:

  • 可以为父元素定义上边框
  • 可以为父元素定义上内边框
  • 可以为父元素添加overflow:hidden

清楚内外边距

网页元素很多带有默认的内外边距,而且不同浏览器默认的也不一致,所以在布局前,首先要清除网页元素的内外边距。

* {
    padding: 0;
    margin: 0;
}

行内元素为了照顾兼顾性,尽量只设置左右内外边距,不要设置上下内外边距,但是转换为块级和行内块元素就可以了。

PS基本操作:

网页美工大部分是用PS做的

  • Ctrl+R:可以打开标尺,或者试图->标尺
  • 右击标尺,把里面的单位改为像素
  • Ctrl+(+)可以放大视图,Ctrl+(-)缩小视图
  • 按住空格键,鼠标可以拖动PS视图
  • 用选取拖动,可以测量大小
  • Ctrl+D可以取消选区,或者在旁边空白处点击一下

案例:

导航

 产品模块

快报

 总结:

  • 标签都是有语义的,合理的地方用合理的标签,大量的文字段落用p,产品标签就用h
  • 类名是给每个盒子起一个名字,可以更好的找到这个盒子,选取盒子更容易,后期维护也方便
  • 大部分情况两个可以混用,两者各有优缺点,但是总有更简单的方法实现

圆角边框

border-radius属性用于设置元素的外边框圆角

语法:

border-radius:length;

原理:(椭)圆与边框的交集形成圆角效果。

  •  参数值可以为数值或百分比的形式
  • 如果是正方形,想要设置为一个圆,把数值修改为高度和宽度的一半,或写出50%
  • 如果是矩形,设置为高度的一半,就是
  • 该属性是一个简写属性,可以跟四个值,左上角,右上角,右下角,左下角(顺时针)
  • 分开写:border-top-left-radius,border-top-right-radius,border-bottom-right-radius,border-bottom-left-radius
      .nav1 {
          height: 200px;
          width:200px;
          background-color: pink;
          border-radius: 10px;
      }
      .nav2 {
          /*设置为宽高的一半*/
          height: 200px;
          width:200px;
          background-color: pink;
          border-radius: 100px;
      }
      .nav3 {
          /*设置为高的一半*/
          width:300px;
          height:100px;
          background-color: pink;
          border-radius: 50px;
      }

 盒子阴影

可以使用box-shadow属性为盒子添加阴影

语法:

box-shadow: h-shadow  v-shadow  blur  spread  color  inset;

(加上inset就是内阴影,不加是外阴影)

  •  默认是外阴影
  • 盒子阴影不占用空间,不会影响其他盒子排列
        div {
            width: 200px;
            height: 200px;
            background-color: pink;
            masrgin:100px auto;
            box-shadow: 10px 10px 10px -4px rgb(0,0,0,.3);
        }

 文字阴影

可以使用text-shadow属性将阴影应用于文本。

语法:

text-shadow:h-shadow  v-shadow  blur  color;

        div {
            font-size: 50px;
            color: orange;
            font-weight: 700;
            text-shadow: 5px 5px 6px rgb(0,0,0,.3);
        }

 

 浮动

传统网页布局的三种方式

  • 普通流(标准流)
  • 浮动
  • 定位

用CSS摆放盒子,把盒子放到相应的位置

标准流

标准流:标签按照规定好默认方式排列,是最基本的布局方式

块级元素会独占一行,从上向下顺序排列

  • 常用元素:div,hr,p,h1~h6,ul,ol,dl,form,table

行内元素会按照顺序,从左到右顺序排序,碰到父元素边缘会自动换行

  • 常用元素:span,a,i,em

为什么要用浮动?

有很多的布局效果,标准流没有办法完成,可以利用浮动完成布局,因为浮动可以改变元素标签的默认排列方式。

典型的应用:可以让多个块级元素一行内排列显示

多个块级元素纵向排序找标准流,多个块级元素横向排列找浮动。

什么是浮动?

float属性用于创建浮动框,将其移动到一边,知道左边缘或右边缘触及包含块或另一个浮动框的边缘。

语法:

选择器{

        float: 属性值;

}

浮动特性

加了浮动后的元素会有很多特性:

  • 浮动元素会脱离标准流,移动到指定位置,不在保留原先的位置
  • 浮动的元素会一行内显示并且元素顶部对齐
  • 浮动的元素都会具有行内块元素的特性(行内元素有了浮动,就不需要转换为行内块元素了)
        .box1 {
            float: left;
            width: 200px;
            height: 200px;
            background-color: pink;
        }
        .box2 {
            width: 300px;
            height: 300px;
            background-color: #cccccc;
        }

  • 浮动的元素是相互贴靠在一起的(不会有缝隙),如果父级宽度装不下这些浮动的盒子,多出的盒子会另起一行对齐。
  • 如果块级元素没有设置宽度,默认宽度和父级一样宽,但是添加浮动后,它的大小根据内容来决定

为了约束浮动元素位置:先用标准流的父元素排列上下位置,之后内部子元素采取浮动排列左右位置。

一个元素浮动了,理论上其余兄弟元素也要浮动。

浮动的盒子只会影响盒子后面的标准流,不会影响前面的标准流。

清除浮动

本质:

  • 清除浮动元素造成的影响
  • 如果父盒子本身有高度,则不需要清除浮动
  • 清除浮动之后,父级就会根据浮动的子盒子自动检测高度,就不会影响下面的标准流了

语法:

选择器 {

        clear: 属性值;

}

几乎只用:clear: both;

清除浮动的策略是:闭合浮动。

清除浮动的方法

  • 额外标签法也称为隔墙法

在浮动元素末尾添加一个空的标签,或其他标签(br),这个新的空标签必须是块级元素

例如:<div style="clear:both"></div>

  • 父级添加overflow属性

可以给父级添加overflow属性,将其属性值设置为hidden,auto或scroll

  • 父级添加after伪元素(直接给父元素加上class="clearfix")

        .clearfix:after {
            content: "";
            display: block;
            height: 0;
            clear: both;
            visbility: hidden;
        }
        .clearfix {
            *zoom: 1;
        }
  • 父级添加双伪元素 

    .clearfix:before,
    .clearfix:after {
        content: "";
        display: table;
    }
    .clearfix:after {
      clear: both;
    }
    .clearfix {
        *zoom: 1;
    }

为什么要清除浮动:

  • 父级没高度
  • 子盒子浮动了
  • 影响下面布局了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/721354.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[网鼎杯 2020 青龙组]AreUSerialz1

代码审计 得到一大串源码&#xff0c;但是不要慌&#xff0c;虽然源码很多&#xff0c;其实题目并不难 这段代码是一个简单的文件读写类 FileHandler&#xff0c;以及一个反序列化函数 unserialize() 的使用。 <?phpinclude("flag.php");highlight_file(__FILE__…

Stable Diffusion 中英文对照中文tag补全

Stable Diffusion是老外做的&#xff0c;因此全部界面都是英文的&#xff0c;因此会对国内很多英语不好的小伙伴来说是一个灾难&#xff0c;不过这里介绍大家一个自定义翻译插件的方法如下图。 还有我们在输入关键词的时候&#xff0c;由于英语水平有限对我们造成阻碍&#xf…

QTTCP客户端服务端通信

目录 网络模块介绍 TCP介绍 TCP 服务端应用实例 TCP 客户端应用实例 运行结果&#xff1a; 网络模块介绍 Qt 网络模块为我们提供了编写 TCP / IP 客户端和服务器的类。它提供了较低级别的类&#xff0c;例 如代表低级网络概念的 QTcpSocket &#xff0c; QTcpServer 和 …

智慧旅游卡APP小程序开发方案

旅游业的蓬勃发展&#xff0c;旅游卡作为一种便捷的旅游支付方式越来越受到人们的喜爱。智慧旅游卡APP小程序开发方案是一种利用微信小程序实现的在线购买旅游卡、查询旅游信息、预约旅游服务等功能的旅游卡APP。下面将详细介绍智慧旅游卡APP小程序的开发方案。 一、智慧旅…

【CDC 2023 Cooperative Aerial Robots Inspection Challenge】

CDC 2023 Cooperative Aerial Robots Inspection Challenge 合作空中机器人检查挑战赛 Install the CARIC packagesRun the flight testThe benchmark designThe UAV fleet CDC 2023 Cooperative Aerial Robots Inspection Challenge 网址 Install the CARIC packages Once t…

旅游卡APP开发解决方案

旅游业的不断发展&#xff0c;旅游卡成为了人们出行时必不可少的一项工具。旅游卡APP开发解决方案旨在为用户提供更加便捷、高效的旅游卡购买和使用体验。下面将详细介绍旅游卡APP开发解决方案的几个方面。 一、旅游卡APP开发解决方案的技术方面 旅游卡APP开发解决方案…

Python pyecharts实时画图自定义可视化经纬度热力图

目录 背景基于pyecharts内置经纬度的热力图基于自定义经纬度的热力图pyecharts库缺点不同地图坐标系区别 WGS-84 - 世界大地测量系统GCJ-02 - 国测局坐标BD-09 - 百度坐标系 背景 在业务数据统计分析中基本都会涉及到各省区的分析&#xff0c;数据可视化是数据分析的一把利器…

事件机制(事件流、事件委托、事件类型)

HTML DOM 允许 JavaScript 对 HTML 事件作出反应。JavaScript 能够在事件发生时执行&#xff0c;比如当用户点击某个 HTML 元素时。 JavaScript与HTML之间的交互是通过事件实现的。事件就是文档或浏览器窗口中发生的一些特定的交互瞬间。 目录 事件是由三部分组成 执行事件的步…

儿童硅胶勺子LFGB标准检测是什么?

食品级硅胶制品的德国食品接触材料测试LFGB标准检测哪些项目&#xff1f; Sensory test感官测试一味道和气味对于与食品接触的整体产品 extractable components in ethanol(Ethanol as compulsory simulant)(must perform)10%酒精萃取法(必做) Extractable component in deioni…

官网能为企业营销增长贡献哪些力量?

官网是门面&#xff0c;同时也具备营销价值&#xff0c;可以带来流量转化成销售线索&#xff0c;影响公司营收&#xff0c;B2B业务是复杂的&#xff0c;客户在选择你之前会长期的研究你的官网&#xff0c;了解你的产品及服务、成功案例、甚至是品牌的创始团队信息&#xff0c;来…

SpringCloud学习1

SpringCloud是分布式微服务架构的 一些列解决方案的集合&#xff0c;SpringBoot是一门单独的技术 ​​​​​​

小心 MybatisPlus 的一个坑与面试题

昨天测试说有个 xx 功能用不了&#xff0c;扔给我一个截图&#xff0c;说有报错&#xff1a; 报错信息就是&#xff1a;Transaction rolled back because it has been marked as rollback-only&#xff0c;很好理解&#xff1a;事务被回滚了&#xff0c;因为它已经被标记了只能…

HttpRunner自动化之请求中带有 headers 的接口和发送POST请求

headers 可通过headers 添加头部信息&#xff0c;如下图 # 发送请求头headers的接口 - config:name: 百度接口用例base_url: https://www.baidu.com- test:name: 发送百度接口的头部信息request:url: /smethod: GETheaders:Accept: text/html,application/xhtmlxml,applicati…

LNMT(linux下nignx+mysql+tomcat(中间件)应用)部署应用、及各服务介绍、部署开源站点jpress

目录 一、环境准备 二、tomcat1和tomcat2服务器&#xff0c;安装配置tomcat 1.tomcat服务器介绍 2.JDK软件介绍 3.查看JDK是否安装 4.tomcat1和tomcat2服务器&#xff0c;安装JDK1.8.0_191&#xff08;JDK必须和nginx版本相适应&#xff0c;不然一直报错&#xff09; 5.安…

【LeetCode】HOT 100(21)

题单介绍&#xff1a; 精选 100 道力扣&#xff08;LeetCode&#xff09;上最热门的题目&#xff0c;适合初识算法与数据结构的新手和想要在短时间内高效提升的人&#xff0c;熟练掌握这 100 道题&#xff0c;你就已经具备了在代码世界通行的基本能力。 目录 题单介绍&#…

源启数据资产管理平台助力金融机构加速数据资产化过程

自2000年左右&#xff0c;金融行业开始做数据管理。从数据仓库到数据治理、数据应用&#xff0c;再到后来的大数据&#xff0c;以及今天的数据管理。我们把这个时期总结成数据资产化时代&#xff0c;或者叫国产化时代。 为什么有两个名字&#xff1f;数据资产化时代是因为国家…

关于PID闭环控制中上位机与下位机通讯代码的解析分享(一)

下位机接收数据代码&#xff08;以STM32单片机为例&#xff09;与上位机发送数据C#代码分享 1、下位机代码&#xff1a; /*** brief 接收的数据处理* param void* return -1&#xff1a;没有找到一个正确的命令.*/ int8_t receiving_process(void) {uint8_t frame_data[…

虚幻引擎程序化资源生成框架PCG 之 常用撒点方法小结

PCG真好玩&#xff0c;门槛很低&#xff0c;天花板很高 文章目录 前言1. 基本撒点1.1 Landscape上撒点1.2 使用射线检测在地表面撒点1.3 使用曲线撒点1.3.1 沿曲线撒点1.3.2 在闭合曲线内部撒点 1.4 在StaticMesh表面撒点 2. 进阶撒点2.1 在闭合曲线内部放射状撒点2.2 在Mesh表…

MedCalc v22.009 医学ROC曲线统计分析软详细图文教程

简介 MedCalc是一款医学 ROC 曲线统计软件&#xff0c;用于ROC曲线分析的参考软件&#xff0c;医学工作者设计的医学计算器&#xff0c;功能齐全。它可以帮助医生快速作出普通的医学计算&#xff0c;从而对症下药。提供超过76种常用的规则和方法&#xff0c;包括&#xff1a;病…

《消失的她》豆瓣短评数据分析

《消失的她》豆瓣短评数据分析 文章目录 《消失的她》豆瓣短评数据分析一、前言二、数据加载和预处理三、探索性数据分析1、查看评论的评价分布2、查看评论点赞数的分布3、查看评论的地理分布 四、情感分析 一、前言 最近爆火的电影《消失的她》你们有没有去看过呢&#xff1f…