03-CSS盒模型(padding、margin、opactiy、cursor、display、css3前缀)

一、CSS盒模型

  • CSS 盒模型规定了处理元素内容、内边距、边框 和 外边距 的方式。
  • 最内部分是元素内容,直接包围内容的是内边距。内边距呈现了元素的背景。内边距的边缘是边框。边框以外是外边距。

1.元素的尺寸:

  • height 设置元素的高度。属性值:auto:默认。/px、cm 等单位定义高度。/百分比
  • width 设置元素的宽度属性值:auto:默认。/px、cm 等单位定义高度。/百分比
  • max-height 设置元素的最大高度。属性值:auto:默认。/px、cm 等单位定义高度。/百分比
  • max-width 设置元素的最大宽度。属性值:auto:默认。/px、cm 等单位定义高度。/百分比
  • min-height 设置元素的最小高度。属性值:auto:默认。/px、cm 等单位定义高度。/百分比
  • min-width 设置元素的最小宽度。属性值:auto:默认。/px、cm 等单位定义高度。/百分比
  • 当属性值用百分比时是相对于父元素的尺寸来说的。
  • 最大最小宽高主要用于动态控制缩放等情况下,这里暂做了解。

2.padding 属性:元素的内边距:

  • padding-top 属性设置元素的上内边距(空间)。
  • padding-right 属性设置元素右内边距(空白)。
  • padding-bottom 属性设置元素的下内边距(底部空白)。
  • padding-left 属性设置元素左内边距(空白)。
  • padding 属性接受长度值或百分比值,但不允许使用负值。
    • padding * 同时设定四个边距
    • padding ** 分别设定上下、左右边距
    • padding *** 分别设定上、左右、下边距
    • padding **** 分别设定上、右、下、左边距

3.border属性:元素的边框,是围绕元素内容和内边距的一条或多条线。

  • border属性:

可以按顺序设置如下属性:

    • border-width
    • border-style
      • solid 定义实线。/dotted 定义点状边框/double 定义双线......
    • border-color
  • 关于元素的边框后边课程还会详细讲解,暂时先简单了解。

4.margin 属性:元素的外边距:

  • 围绕在元素边框的空白区域是外边距。设置外边距会在元素外创建额外的“空白”。
  • margin-top 属性设置元素的上外边距(空间)。
  • margin-right 属性设置元素外内边距(空白)。
  • margin-bottom 属性设置元素的下外边距(底部空白)。
  • margin-left 属性设置元素左外边距(空白)。
  • margin 属性接受长度值或百分比值,允许使用负值。
    • margin * 同时设定四个外边距
    • margin ** 分别设定上下、左右外边距
    • margin *** 分别设定上、左右、下外边距
    • margin **** 分别设定上、右、下、左外边距

5.外边距的合并:

  • 外边距合并指的是,当两个垂直外边距相遇时,它们将形成一个外边距。
  • 合并后的外边距的高度等于两个发生合并的外边距的高度中的较大者。

6.两种盒子模型:

一种是W3C的标准盒子模型;一种是IE的盒子模型。另一种是怪异盒模型 (ie盒模型)

box-sizing属性可以为三个值:content-box(default),border-box,padding-box。
content-box,border和padding不计算入width之内


border-box,border和padding计算入width之内,其实就是怪异模式了~
inherit 使元素继承父元素的盒模型模式

### 盒子模型与DOCTYPE 那到底该用哪种模型呢?当然是W3C标准盒子模型了,W3C标准盒子模型兼容所有浏览器。那该怎么确定页面渲染是按照W3C标准盒子模型呢?只要在页面顶部加上DOCTYPE 申明([申明说明](http://www.w3school.com.cn/tags/tag_doctype.asp)),浏览器就会按照W3C标准渲染,如果不加DOCTYPE申明,浏览器会按照本身默认标准去渲染页面,除IE外所有浏览器按照W3C标准盒子模型渲染页面,至于IE吧,当然会按照IE盒子模型渲染页面了,只要加上DOCTYPE强制IE采用标准盒子模型渲染页面。 我们常见的就是,它是指示 web 浏览器关于页面使用 HTML5 版本进行编写的

二、CSS其他属性

1.opacity:透明度设定

  • IE9, Firefox, Chrome, Opera 和 Safari 使用属性 opacity 来设定透明度。opacity 属性能够设置的值从 0.0 到 1.0。值越小,越透明。
  • E8 以及更早的版本使用滤镜 filter:alpha(opacity=x)。x 能够取的值从 0 到 100。值越小,越透明。对于滤镜本套课程不作讲解。
  • opacity与通过rgba()设定透明度的区别:前者同时作用于元素的标签内容,后者只是作用于元素本身。

2.鼠标的样式 cursor:

我们可以通过cursor属性改变浏览器默认的鼠标样式,可改变的样式很多,这里仅仅列出几种相对常用的

  1. hand是手型
  2. pointer也是手型,推荐使用这种。                                
  3. crosshair是十字型
  4. text是移动到文本上的那种效果                              
  5. wait是等待的那种效果
  6. default是默认效果                                              
  7. e-resize是向右的箭头
  8. ne-resize是向右上的箭头                                          
  9. n-resize是向上的箭头
  10. nw-resize是向左上的箭头                                              
  11. w-resize是向左的箭
  12. sw-resize是左下的箭头                                              
  13. s-resize是向下的箭头
  14. se-resize是向右下的箭头                                             
  15. auto是由系统自动给出效果

3.溢出的处理:

  • overflow 如果内容溢出了元素内容区域,是否对内容的边缘进行裁剪。
  • overflow-x 如果内容溢出了元素内容区域,是否对内容的左/右边缘进行裁剪。
  • overflow-y 如果内容溢出了元素内容区域,是否对内容的上/下边缘进行裁剪。
    • visible 不裁剪内容,可能会显示在内容框之外。
    • hidden 裁剪内容-不提供滚动机制。
    • scroll 裁剪内容-提供滚动机制。
    • auto如果溢出框,则应该提供滚动机制。

 

4.rem:根元素字体的大小:

浏览器默认字体大小为16px

em是以父元素字体为基准的

rem是以根元素字体大小为基准的

5.轮廓(outline):

轮廓(outline)是绘制于元素周围的一条线,位于边框边缘的外围,可起到突出元素的作用。

outline 在一个声明中设置所有的轮廓属性:
  • outline-color 设置轮廓的颜色。
  • outline-style 设置轮廓的样式。                                         
  • outline-width 设置轮廓的宽度。

outline-offset 设置轮廓到边框的距离。注:css新增属性,不可以写到符合属性里。                   

   

6.display 属性常用属性值:

display的属性值很多,有些目前支持度不好,有些会放到以后课程或综合实例中讲解,这里介绍几种常用的情况。

  • none 此元素不会被显示。
  • block 此元素将显示为块级元素。特征:换行,可设置宽高尺寸。                                                               
  • inline 行内元素,默认。特征:大小自适应;不换行。
  • inline-block 行内块元素。特征:可以设置大小,但是不可以换行。                                                            
  • 其他:list-item/table/inline-table/table-cell/table-caption......

三、CSS3前缀:

  • CSS3目前很多新增属性尚未被W3C列为标准,对这些暂时未被公布为标准的属性,各家浏览器会在属性前加上前缀词,也将其称之为浏览器的私有前缀。
  • W3C官方认为试验阶段的属性仅为了测试,未来可能修改或删除。
  • 对于CSS3中目前主流浏览器不支持属性,本套课程暂不进行讲解.

1.现在主要流行的浏览器内核有:

  • Webkit内核:产要代表为Chrome和Safari
  • Trident内核:主要代表为IE浏览器
  • Gecko内核:主要代表为Firefox
  • Presto内核:主要代表为Opera
  • 手机等移动端一般是IOS和安卓系统,基本上采用的都是webkit引擎。

2.浏览器的私有前缀:

  • Webkit内核:前缀为-webkit-
  • Trident内核:前缀为-ms-
  • Gecko内核:前缀为-moz-
  • Presto内核:前缀为-o-

3.CSS Hack:

  • CSS Hack用来解决浏览器兼容问题,为不同浏览器版本编写不同CSS效果,使用每个浏览器单独识别的样式代码, 控制浏览器的显示样式
  • Hack分类
  • 1、CSS属性前缀法
  • 2、选择器前缀法
  • 3、IE条件注释法

 

           

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

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

相关文章

开源流程图表库(01):Mermaid.js生成流程图、时序图、甘特图等

一、Mermaid.js的特点 Mermaid.js是一个用于生成流程图、时序图、甘特图等各种图表的开源库。它使用简洁的文本语法来描述图表结构,并将其转换为可视化的图形。 Mermaid.js的主要特点包括: 简洁易用:Mermaid.js使用简单的文本语法来描述图表…

FPGA电平标准

1.LVTTL:(3.3v) 2.LVCOMS:(1.8v) 3.LVDS(1.8v):LVDS_25(2.5v) 4:如果是ddr3与fpga相连接fpga的vcco推荐(1.5v)…

Qt实现简易的多线程TCP服务器(支持多个客户端连接)附源码

目录 一.UI界面的设计 二.服务器的启动 三.实现自定义的TcpServer类 1.在widget中声明自定义TcpServer类的成员变量 2.在TcpServer的构造函数中对于我们声明的m_widget进行初始化,m_widget我们用于后续的显示消息等,说白了就是主界面的更新显示等 …

卡尔曼滤波器_3.3

目标 了解卡尔曼滤波在目标跟踪中的应用知道卡尔曼滤波的原理:预测阶段和更新阶段 卡尔曼滤波器(Kalman Filter)是一种利用线性系统理论和概率统计原理,对含有噪声的动态系统进行状态估计的最优滤波器。它由匈牙利裔美国电气工程…

web前端之3D标签动画、指定范围的随机数、动态设置css变量、文档片段对象、反向动画

MENU 效果图htmlJavaScriptstyle 效果图 html <div class"container"></div>JavaScript // 祝词 var words [健康码常绿,股票飙红,生意兴隆,财源广进,心想事成,永远十八,身体健康,大富大贵,大吉大利,万事如意,美梦成真,吉祥如意,鸿运当头,五福临门,吉…

正式发布:VitePress 1.0 现代化静态站点生成器!

大家好&#xff0c;我是奇兵&#xff0c;今天介绍一下现代化静态站点生成器!&#xff0c;希望能帮到大家。 3 月 21 日&#xff0c; 由 Vue 团队出品的现代化静态站点生成器 VitePress 正式发布 1.0 版本&#xff01;它专为构建快速、以内容为中心的网站而生&#xff0c;能够轻…

Apache Spark

一、Apache Spark 1、Spark简介 Apache Spark是用于大规模数据 (large-scala data) 处理的统一 (unified) 分析引擎。 Spark官网 Spark最早源于一篇论文Resilient Distributed Datasets: A Fault-Tolerant Abstraction for In-Memory Cluster Computing,该论文是由加州大学柏…

C# 将 Word 转文本存储到数据库并进行管理

目录 前言 1. 创建数据库表格 2. 安装必需的 NuGet 包 3. 转换 Word 文档为文本 4. 将文本存储到数据库 5. 完整示例 前言 C# 是一种通用的编程语言&#xff0c;可以用于开发各种类型的应用程序&#xff0c;包括处理文本和数据库管理。在这篇文章中&#xff0c;我将向您…

问卷调查数据分析指南!掌握方法,精准把握用户需求!

“我们可以用自定义报表、交叉报表、自定义过滤器等放方式进行问卷调查数据分析。“ 问卷调查的过程中&#xff0c;问卷设计、问卷分发、问卷收集可能都不是让我们最头疼的。经过几天的奋战&#xff0c;终于拿到了数据&#xff0c;但是问题也随之而来。收集上来的问卷信息&…

linux操作系统——线程控制+线程封装

1.理解用户级线程 我们前面用到的所有跟线程有关的接口全部都不是系统直接提供的接口&#xff0c;而是原生线程库pthread提供的接口。我们前面谈到了由于用户只认线程&#xff0c;而linux操作系统是通过用轻量级进程模拟线程&#xff0c;并不是真正的线程&#xff0c;所以linu…

C# for/foreach 循环

一个 for 循环是一个允许您编写一个执行特定次数的循环的重复控制结构。 语法 C# 中 for 循环的语法&#xff1a; for ( init; condition; increment ) {statement(s); } 下面是 for 循环的控制流&#xff1a; init 会首先被执行&#xff0c;且只会执行一次。这一步允许您声…

【数据结构】非线性结构——二叉树

文章目录 前言1.树型结构1.1树的概念1.2树的特性1.3树的一些性质1.4树的一些表示形式1.5树的应用2.二叉树 2.1 概念2.2 两种特殊的二叉树2.3 二叉树的性质2.4 二叉树的存储2.5 二叉树的基本操作 前言 前面我们都是学的线性结构的数据结构&#xff0c;接下来我们就需要来学习非…

Stable Diffusion 进阶教程 - 二次开发(制作您的文生图应用)

目录 1. 引言 2. 基于Rest API 开发 2.1 前置条件 2.2 代码实现 2.3 效果演示 2.4 常见错误 3. 总结 1. 引言 Stable Diffusion作为一种强大的文本到图像生成模型&#xff0c;已经在艺术、设计和创意领域引起了广泛的关注和应用。然而&#xff0c;对于许多开发者来说&#xff…

iOS开发进阶(九):OC混合开发嵌套H5应用并互相通信

文章目录 一、前言二、嵌套H5应用并实现双方通信2.1 WKWebView 与JS 原生交互2.1.1 H5页面嵌套2.1.2 常用代理方法2.1.3 OC调用JS方法2.1.4 JS调用OC方法 2.2 JSCore 实现原生与H5交互2.2.1 OC调用H5方法并传参2.2.2 H5给OC传参 2.3 UIWebView的基本用法2.3.1 H5页面嵌套2.3.2 …

Spring Boot | SpringBoo“开发入门“

目录 : 1.SpringBoot的“介绍”SpringBoot”概述” &#xff1a;SpringBoot”简介“SpringBoot的“优点” 2. SpringBoot入门程序环境准备使用 “Maven”方式构建SpringBoot 项目使用“Spring Initializr”方式构建Spring Boot 项目 3. “单元测试” 和“热部署”单元测试热部署…

微服务day06 -- Elasticsearch的数据搜索功能。分别使用DSL和RestClient实现搜索

1.DSL查询文档 elasticsearch的查询依然是基于JSON风格的DSL来实现的。 1.1.DSL查询分类 Elasticsearch提供了基于JSON的DSL&#xff08;Domain Specific Language&#xff09;来定义查询。常见的查询类型包括&#xff1a; 查询所有&#xff1a;查询出所有数据&#xff0c;一…

‘npm‘ 不是内部或外部命令,也不是可运行的程序

npm认识三年了&#xff0c;今天才知道这是node.js的命令 也就是说&#xff0c;想要在cmd里面运行 npm 命令&#xff0c;但就的安装node.js 1. node.js安装 没有安装包的先下载安装包&#xff1a;下载 | Node.js 中文网 (nodejs.cn) 下载之后双击打开&#xff0c;一路安装确…

基于Arduino IDE 野火ESP8266模块 EEPROM 存储开发

一、操作存储器 我们可以使用ESP8266模块的EEPROM&#xff0c;也就是可读可擦存储器&#xff0c;可以掉电不丢失地帮我们存储一些数据。ESP8266微控制器有一个闪存区(Flash memory) 来模拟Arduino的EEPROM。这是微控制器中一个特殊的内存位置&#xff0c;即使在主板关闭后&…

vscode添加gitee

1.创建仓库 2.Git 全局设置 3.初始化仓库 2.1 打开vscode打开需要上传到给git的代码文件 2.2.点击左边菜单第三个的源代码管理->初始化仓库 4.点击加号暂存所有更改 5.添加远程仓库 5.1 添加地址&#xff0c;回车 5.2 填写库名&#xff0c;回车 6.提交和推送 6.1 点击✔提交…

SpringBoot学习之ElasticSearch下载安装和启动(Mac版)(三十一)

本篇是接上一篇Windows版本,需要Windows版本的请看上一篇,这里我们继续把Elasticsearch简称为ES,以下都是这样。 一、下载 登录Elasticsearch官网,地址是:Download Elasticsearch | Elastic 进入以后,网页会自动识别系统给你提示Mac版本的下载链接按钮 二、安装 下载…