当前位置: 首页 > news >正文

【前端基础--2】

选择器优先级

style标签中:

        .text{color: pink;}div{color: red;}#box{color: skyblue;}

body标签中:

    <div class="text" id="box">猜猜我是什么颜色的</div>

运行结果:

选择器优先级权重:

id选择器 > 类名选择器 > 标签名 > 通配符 > 继承(子级默认继承父级)

id选择器 > 后代选择器(类名+标签名  .text p)> 类名选择器 > 标签名 

同级下,按照就近原则

抽象来讲:

进行叠加:id(100)   类名(10)   标签(1)   通配符(0.1)    后代选择器(10+1)


盒模型

看成一个矩形的盒子

盒模型组成

  • 内容区域    content
  • 内边距       padding
  • 边框          border
  • 外边距     margin

盒模型属性的运用

1.内容   content (width+height)

块级元素:div  ul  li  p  h1~h6等。在不限定高宽的情况下默认是文字大小决定的高度和与浏览器长度相等的宽度

行内标签:span  a  b  i  em  strong等。这些标签不支持自定义高宽,高宽都是依据文字的。


内边距padding

会扩展盒子的大小

两个值写法:(上下都是10,左右是20)

padding:10px  20px;

三个值写法:(10,左右各20,30)

padding:10px  20px  30px;

四个值写法:(10,20,30,40)

padding:10px  20px  30px  40px;

单个写法:

顶部内边距:padding-top:10px;

底部内边距:padding-bottom:10px;

左边内边距:padding-left:10px;

右边内边距:padding-right:10px;


边框border

会扩展盒子大小

border:10px  solid  red;         (一个红色的实线边框)

border:边框大小  边框风格 边框颜色       

分解写法:

border-width:10px;

border-style:solid;  

border-color:pink;

顶部边框:border-top:5px solid red;                  (实线)

底部边框:border-bottom:5px dashed pink;     (虚线)

左侧边框:border-left:5px dotted skyblue;          (点状线)

右侧边框:boeder-right:5px double green;          (双边线)

边框单独设置:border-top-width:5px;


外边距margin

不会改变盒子大小,会控制该盒子与浏览器边框或与其他盒子的距离

margin:20px;

单个写法:    (常用)

margin-top:10px;

margin-left:10px;

margin:auto;     (左右自适应居中)

两个值写法:(上下都是10,左右是20)

margin:10px  20px;

三个值写法:(10,左右各20,30)

margin:10px  20px  30px;

四个值写法:(10,20,30,40)

margin:10px  20px  30px  40px;


盒子的合并

父子盒子外边距合并: 若想让两个盒子之间有距离的概念,可以给父盒子添加一个支撑点(内边距或边框)。

兄弟外边框合并:两个盒子的外边距会重叠,添加一个行内块属性就可以解决这个问题了。(display:inline-block;)


标准盒模型

box-sizing:content-box;

宽度: 240     内容宽度: 200 + 左右内边距: 20 + 左右边框: 20

高度: 240     内容高度: 200 + 上下内边距: 20 + 上下边框: 20

怪异盒模型 

box-sizing:border-box;

内容宽度: 200     被缩减后的内容宽度: 160 + 左右内边距: 20 + 左右边框: 20

内容高度: 200     被缩减后的内容高度: 160 + 上下内边距: 20 + 上下边框: 20

不改变盒子总大小,但是要添加边框和内边距,就使用怪异盒模型。


溢出隐藏属性

内容超出盒子也正常显示

overflow: visible;

溢出隐藏

overflow: hidden;

内容不论会不会超过盒子都会出现滚动条

overflow: scroll;

内容不超过盒子时就不会出现滚动条了

overflow:auto;

清除默认样式

第一种写法:通配符*清除默认样式写法

        *{/* 外边距 */margin: 0px;/* 内边距 */padding: 0px;/* 清除边框 */border: none;/* 清除默认自带黑点 */list-style: none;}

第二种写法:重置

        body,dl,dd,p,h1,h2,h3,h4,h5,h6{margin:0;}ol,ul{margin: 0;padding: 0;list-style: none;}img{border: none;}a{text-decoration: none;color: black;}

第三种,新建一个css文件,将上面的代码进行引入。


元素类型

常用元素类型:块级元素、行内元素、行内块元素


块级元素

display: block;

块级标签:div  p  h1~h6  li  ol  ul  dl dt dd  hr(分隔符)等

特征:

  • 独占一行,不会共享一行
  • 若不设置宽度,默认和浏览器宽度相同或继承父级宽度
  • 若不设置高度,默认和文字高度相同
  • 支持auto自适应居中  可以自定义高宽 设置内外边距

行内元素

display: inline;

行内标签:span  a  strong  i  em  del等

特征:

  • 不能自定义高宽   默认都是0 ,靠文字内容增大
  • 不会独占一行     可以横排显示
  • 不支持auto自适应居中,不支持上下外边距(左右可以)

行内块元素

display: inline-block;

行内块标签:img  input

特征:

  • 可以横排显示,不会独占一行(具有行内元素的特征)
  • 支持高宽属性设置(具有块级元素特征)
  • 不支持auto自适应居中   支持上下左右外边距设置

行内块和行内元素间空格

浏览器在解析代码的时候依据行内块和行内标签之间的换行和多个空格会自动显示一个空格。

解决方法:

  1. 让两个标签之间不换行,补空格(但不利于维护)
  2. 父级标签在style中设置font-size: 0px; ,但文字标签要重新定义
  3. 不使用行内块来做横向布局 (可以用浮动来替换它)

display

定义元素是什么类型

  1. display: block;
  2. display: inline;
  3. display: inline-block;
  4. display:none;   (不会在页面中显示这个元素)

 所以使用这个display,就可以使div块级元素变为行内块元素,可以在同一行显示了。

但是可能会造成穿插现象,对不齐。

就需要vertical-align: top;这个语句让它们在顶部基线对齐

相关文章:

【前端基础--2】

选择器优先级 style标签中&#xff1a; .text{color: pink;}div{color: red;}#box{color: skyblue;} body标签中&#xff1a; <div class"text" id"box">猜猜我是什么颜色的</div> 运行结果&#xff1a; 选择器优先级权重&#xff1a; id选…...

【GitHub项目推荐--提取文字】【转载】

提取视频中的字幕 这个开源项目是提取视频中字幕的开源项目&#xff0c;提取视频中的关键帧&#xff0c;检测视频帧中文本的所在位置&#xff0c;识别视频帧中文本的内容。 不知道大家有没有做笔记的习惯&#xff0c;这个开源项目就很方便的把你一个视频中的字幕提取出来&…...

WebSocket与Shiro认证信息传递的实现与安全性探讨

在现代Web应用程序中&#xff0c;WebSocket已经成为实时双向通信的重要组件。而Shiro作为一个强大的Java安全框架&#xff0c;用于处理身份验证、授权和会话管理。本文将探讨如何通过WebSocket与Shiro集成&#xff0c;实现认证信息的传递&#xff0c;并关注在这一过程中确保安全…...

QT 实现自动生成小学两位数加减法算式

小学生加减法训练 QT实现–自动生成两位数加减法算式&#xff0c;并输出txt文件 可以copy到word文件&#xff0c;设置适当字体大小和行间距&#xff0c;带回家给娃做做题 void MainWindow::test(int answerMax, int count) {// 创建一个随机数生成器QRandomGenerator *gener…...

小程序学习-20

建议每次构建npm之前都先删除miniprogram_npm...

面试题-【消息队列】

消息队列 问题1 如何进行消息队列的技术选型优点解耦 &#xff08;pub/sub模型&#xff09;异步&#xff08;异步接口性能优化&#xff09;削峰 使用消息队列的缺点几种消息队列的特性 问题2 引入消息队列之后该如何保证其高可用性RabbitMQ的高可用kafka高可用 问题3 在消息队列…...

【江科大】STM32:I2C通信外设(硬件)

在将2C通信外设之前&#xff0c;我们先捋一捋&#xff0c;串口的相关特点来和I2C进行一个对北比。 首先&#xff1a; 1,大部分单片机&#xff0c;设计的PCB板均带有串口通信的引脚&#xff08;也就是通信基本都借助硬件收发器来实现&#xff09; 2.对于串口的异步时序&#xff…...

【机器学习300问】15、什么是逻辑回归模型?

一、逻辑回归模型是为了解决什么问题&#xff1f; 逻辑回归&#xff08;Logistic Regression&#xff09;是一种广义线性回归分析模型&#xff0c;尤其适用于解决二分类问题&#xff08;输出为两个类别&#xff09;。 &#xff08;1&#xff09;二分类举例 邮件过滤&#xff…...

C#调用C动态链接库

前言 已经没写过博客好久了&#xff0c;上一篇还是1年半前写的LTE Gold序列学习笔记&#xff0c;因为工作是做通信协议的&#xff0c;然后因为大学时没好好学习专业课&#xff0c;现在理论还不扎实&#xff0c;不敢瞎写&#xff1b; 因为工作原因&#xff0c;经常需要分析一些字…...

前端实现转盘抽奖 - 使用 lucky-canvas 插件

目录 需求背景需求实现实现过程图片示意实现代码 页面效果lucky-canvas 插件官方文档 需求背景 要求实现转盘转动抽奖的功能&#xff1a; 只有正确率大于等于 80% 才可以进行抽奖&#xff1b;“谢谢参与”概率为 90%&#xff0c;“恭喜中奖”概率为 10%&#xff1b; 需求实现 实…...

2024.1.23力扣每日一题——最长交替子数组

2024.1.23 题目来源我的题解方法一 枚举 题目来源 力扣每日一题&#xff1b;题序&#xff1a;2765 我的题解 方法一 枚举 每次都以两个相邻作为满足要求的循环数据&#xff0c;并且以一个布尔变量控制循环的位置 时间复杂度&#xff1a;O(n) 空间复杂度&#xff1a;O(1) pub…...

C语言王道练习题第七周两题

第一题 Description 输入一个学生的学号&#xff0c;姓名&#xff0c;性别&#xff0c;用结构体存储&#xff0c;通过 scanf 读取后&#xff0c;然后再 通过 printf 打印输出 Input 学号&#xff0c;姓名&#xff0c;性别&#xff0c;例如输入 101 xiongda m Output 输出…...

某马头条——day11+day12

实时计算和定时计算 流式计算 kafkaStream 入门案例 导入依赖 <dependency><groupId>org.apache.kafka</groupId><artifactId>kafka-streams</artifactId><exclusions><exclusion><artifactId>connect-json</artifactId&…...

springboot实现aop

目录 AOP(术语)引入依赖实现步骤测试验证感谢阅读 AOP(术语) 连接点 类里面哪些方法可以增强&#xff0c;这些点被称为连接点 切入点 实际被真正增强的方法 通知&#xff08;增强&#xff09; 实际增强的逻辑部分称为通知&#xff08;增强&#xff09; 通知&#xff08;增强&…...

Golang 中高级工程师学习笔记

闭包的作用 闭包&#xff08;Closure&#xff09;是一种函数值&#xff0c;它可以引用在其外部定义的变量。闭包允许这些变量保持在函数内部&#xff0c;而不是被每次调用时重新创建。闭包的作用主要体现在以下几个方面 封装&#xff1a; 闭包允许函数访问其外部作用域中的变…...

USB-C接口给显示器带来怎样的变化?

随着科技的不断发展&#xff0c;Type-C接口已经成为现代电子设备中常见的接口标准。它不仅可以提供高速的数据传输&#xff0c;还可以实现快速充电和视频传输等功能。因此&#xff0c;使用Type-C接口的显示器方案也受到了广泛的关注。本文将介绍Type-C接口显示器的优势、应用场…...

写一份简单的产品说明书:格式和排版建议

现在的市场竞争那么激烈&#xff0c;拥有一份简洁明了的产品说明书可以说是很重要的。产品说明书不仅向用户提供了对产品的详细了解&#xff0c;还能够树立品牌形象&#xff0c;提升用户体验。 | 一、写一份简单的产品说明书—一些建议 1.创意封面设计 一个吸引人的封面设计能…...

【Python学习】Python学习21- 正则表达式(1)

目录 【Python学习】Python学习21- 正则表达式&#xff08;1&#xff09; 前言re.match函数实例 re.search方法re.match与re.search的区别参考 文章所属专区 Python学习 前言 本章节主要说明Python的正则表达式。 正则表达式是一个特殊的字符序列&#xff0c;它能帮助你方便的…...

Docker 和 Kubernetes:容器化时代的崛起与演变

在过去的十年间&#xff0c;容器化技术彻底改变了软件开发和部署的面貌。 Docker 的登场无疑是这场变革的催化剂&#xff0c;它将应用和服务的打包、分发、部署流程标准化&#xff0c;让开发者的生活变得更加简单。 紧随其后&#xff0c;Kubernetes 作为容器编排的领军者&#…...

美易官方京东养车回应索赔事件:推动行业健康发展并携手品牌商家加码补贴

近日&#xff0c;一则关于途虎养车起诉京东索赔500万元的新闻引起了业界的广泛关注。据华尔街见闻1月25日报道&#xff0c;针对此事&#xff0c;京东养车相关负责人作出了回应。京东养车表示&#xff0c;“震虎价”并非针对特定企业&#xff0c;其核心目的在于通过提升效率来改…...

如何用NanoMsg的6种通信模式搞定分布式系统开发?附代码示例

如何用NanoMsg的6种通信模式构建高可靠分布式系统&#xff1f;实战代码解析 在分布式系统开发中&#xff0c;通信模式的选择往往决定了整个架构的扩展性和可靠性。NanoMsg作为轻量级高性能通信库&#xff0c;提供了6种经过验证的通信模式&#xff0c;每种都对应着特定的应用场景…...

MySQL迁移到达梦数据库:DMP文件转换的3种方案对比(附性能测试数据)

MySQL到达梦数据库迁移实战&#xff1a;DMP文件转换方案深度评测 在国产化替代浪潮下&#xff0c;越来越多的企业开始将MySQL数据库迁移至达梦等国产数据库平台。作为国产数据库的领军者&#xff0c;达梦DM8在性能、安全性和兼容性方面表现出色&#xff0c;但迁移过程中数据类型…...

NTP配置避坑指南:华三/华为/思科设备时间同步差异对比

NTP配置避坑指南&#xff1a;华三/华为/思科设备时间同步差异对比 在网络运维中&#xff0c;时间同步是确保日志分析、安全审计和故障排查准确性的基础。不同厂商的设备在NTP配置上存在细微但关键的差异&#xff0c;这些差异往往成为混合环境部署中的"暗坑"。本文将深…...

梦行云软件——溯源系统-》企业方》产品溯源管理》员工管理

梦行云软件——溯源系统-》企业方》产品溯源管理》员工管理 湖南梦辰软件开发有限公司是立足怀化、服务全国的数字化技术服务商。公司拥有19项软件著作权及多项自主知识产权。专注于Web系统、APP与小程序定制开发&#xff0c;提供全链路数字化解决方案。以合规先行与稳定交付为…...

OneMore插件:让OneNote效率倍增的全方位解决方案

OneMore插件&#xff1a;让OneNote效率倍增的全方位解决方案 【免费下载链接】OneMore A OneNote add-in with simple, yet powerful and useful features 项目地址: https://gitcode.com/gh_mirrors/on/OneMore 当你在OneNote中处理复杂表格时&#xff0c;是否曾因缺乏…...

【架构实战】分布式事务解决方案

一、分布式事务的挑战 在微服务架构下&#xff0c;一个业务操作可能涉及多个服务的数据修改。传统的本地事务无法保证跨服务的数据一致性。 经典场景&#xff1a; 用户下单 → 订单服务扣库存 → 支付服务扣余额 → 物流服务创建运单任何一步失败&#xff0c;都需要回滚之前的操…...

做客户管理之前,先看看这 6 个教训

方案 A&#xff1a;传统开发方式分析 传统开发需要组建专业团队&#xff0c;包括产品经理、UI 设计师、前后端开发、测试工程师等。中等规模项目团队 5-8 人&#xff0c;开发周期 3-6 个月&#xff0c;人力成本 30-100 万。开发过程中需求沟通成本高&#xff0c;业务人员用自然…...

VOOHU沃虎xJLSemi景略:智造时代通信基石-以太网接口PHY芯片

随着智能制造和工业物联网的高速发展&#xff0c;工业通信正朝着高速化、智能化的方向迈进。工业自动化设备需要实时、高效地传输大量数据&#xff0c;以实现精准控制和协同作业。 工业以太网现场总线凭借其高速率、高可靠性、兼容性强等优势成为工业通信的主流选择&#xff0…...

先瑞达2025年年报:营收同比增长20.7% 双引擎格局成型迎高质量增长

3月26日晚间&#xff0c;先瑞达医疗&#xff08;6669.HK&#xff09;正式发布截至2025年12月31日的年度业绩报告。报告期内&#xff0c;公司紧扣血管介入治疗领域核心赛道&#xff0c;以技术创新为内核、以全球化布局为抓手、以降本增效为支撑&#xff0c;实现经营业绩的稳健增…...

MATLAB中扩展卡尔曼滤波与无迹卡尔曼滤波源代码:一键运行,误差对比及显示最大误差数字图像程...

MATLAB编写的EKF和UKF滤波程序源代码 扩展卡尔曼滤波、无迹卡尔曼滤波的MATLAB程序&#xff0c;有误差对比图像和最大误差数字的显示。 只有一个m文件&#xff0c;打开就能运行。 带中文注释。直接双击EKFUKFComparison.m就能看到两个滤波器在非线性系统里的较量。这个文件里塞…...