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

CSS盒子模型(三)

一、处理内容溢出

CSS 属性名
功能
属性值
overflow
溢出内容的处理方式
visible :显示,默认值
hidden :隐藏
scroll :显示滚动条,不论内容是否溢出
auto :自动显示滚动条,内容不溢出不显
overflow - x
水平方向溢出内容的处理方式
overflow
overflow - y
垂直方向溢出内容给的处理方式
overflow
注意:
1. overflow - x overflow - y 不能一个是 hidden ,一个是 visible ,是实验性属性,不建议使用。
2. overflow 常用的值是 hidden auto ,除了能处理溢出的显示方式,还可以解决很多疑难杂症

二、 隐藏元素的方式

方式一:visibility 属性

visibility 属性默认值是 show ,如果设置为 hidden ,元素会隐藏。
元素看不见了,还占有原来的位置(元素的大小依然保持)

方式二: display 属性

设置 display:none ,就可以让元素隐藏。
彻底地隐藏,不但看不见,也不占用任何位置,没有大小宽高。

三、样式的继承  

有些样式会继承,元素如果本身设置了某个样式,就使用本身设置的样式;但如果本身没有设置某个样式,会从父元素开始一级一级继承(优先继承离得近的祖先元素)。

会继承的 css 属性

字体属性、文本属性(除了vertical-align)、文字颜色 等。  

不会继承的 css 属性  

边框、背景、内边距、外边距、宽高、溢出方式 等。 

一个规律:能继承的属性,都是不影响布局的,简单说:都是和盒子模型没关系的。

四、默认样式  

元素一般都些默认的样式,例如:
1. <a> 元素:下划线、字体颜色、鼠标小手。
2. <h1> ~ <h6> 元素: 文字加粗、文字大小、上下外边距。
3. <p> 元素:上下外边距
4. <ul> ol 元素:左内边距
5. body 元素: 8px 外边距( 4 个方向)
......
优先级: 元素的默认样式 > 继承的样式 ,所以如果要重置元素的默认样式,选择器一定要直接选择器到该元素。

五、布局小技巧

1. 行内元素、行内块元素,可以被父元素当做文本处理。

即:可以像处理文本对齐一样,去处理:行内、行内块在父元素中的对齐。
例如: text - align line - height text - indent 等。

2. 如何让子元素,在父亲中 水平居中

  •  若子元素为块元素,给父元素加上: margin:0 auto;
  • 若子元素为 行内元素 行内块元素 ,给父元素加上: text - align:center

3. 如何让子元素,在父亲中 垂直居中

  • 若子元素为块元素,给子元素加上: margin-top ,值为:(父元素 content -子元素盒子总高) / 2
  • 若子元素为 行内元素 行内块元素 :让父元素的 height = line - height ,每个子元素都加上: vertical-align:middle ;
补充:若想绝对垂直居中,父元素 font - size 设置为 0

六、元素之间的空白问题

产生的原因:

行内元素、行内块元素,彼此之间的换行会被浏览器解析为一个空白字符。

解决方案:

1. 方案一: 去掉换行和空格(不推荐)。
2. 方案二: 给父元素设置 font - size:0 ,再给需要显示文字的元素,单独设置字体大小(推荐)。

七、行内块的幽灵空白问题

产生原因:

行内块元素与文本的基线对齐,而文本的基线与文本最底端之间是有一定距离的。

解决方案:

1. 方案一: 给行行内块设置 vertical ,值不为 baseline 即可,设置为 middel bottom top 均可。
2. 方案二: 若父元素中只有一张图片,设置图片为 display:block
3. 方案三: 给父元素设置 font - size: 0 。如果该行内块内部还有文本,则需单独设置 font -size

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 解读“酒过三巡,菜过五味”:三巡是多长时间?五味是哪五味?
  • ProtoBuf简要介绍与快速上手使用(C++版)
  • 回调函数的使用
  • 【STM32】看门狗
  • 【Apache Doris】周FAQ集锦:第 19 期
  • pytest自定义命令行选项
  • ML307R_APP_DEMO_SDK TCP/UDP使用介绍
  • 【vue】编辑器段落对应材料同步滚动交互
  • [底层原理] C/C++获取时间(将时间戳转换为年月日)?
  • springboot jar 配置文件同级目录 启动脚本sh 并添加日志文件,日志文件定时分文件
  • RedisDistributedLock 分布式锁
  • Ubuntu 22.04上稳定安装与配置搜狗输入法详细教程
  • 分享一个基于文本挖掘的微博舆情分析系统Python网络舆情监控系统Flask爬虫项目大数据(源码、调试、LW、开题、PPT)
  • 基于深度学习的智能工厂优化
  • 光伏对国内各行各业的影响
  • [LeetCode] Wiggle Sort
  • chrome扩展demo1-小时钟
  • eclipse(luna)创建web工程
  • hadoop入门学习教程--DKHadoop完整安装步骤
  • Iterator 和 for...of 循环
  • Java 内存分配及垃圾回收机制初探
  • Java深入 - 深入理解Java集合
  • open-falcon 开发笔记(一):从零开始搭建虚拟服务器和监测环境
  • OpenStack安装流程(juno版)- 添加网络服务(neutron)- controller节点
  • Shell编程
  • VirtualBox 安装过程中出现 Running VMs found 错误的解决过程
  • 安装python包到指定虚拟环境
  • 漫谈开发设计中的一些“原则”及“设计哲学”
  • 浅谈Kotlin实战篇之自定义View图片圆角简单应用(一)
  • 如何设计一个比特币钱包服务
  • 远离DoS攻击 Windows Server 2016发布DNS政策
  • ​比特币大跌的 2 个原因
  • (4)Elastix图像配准:3D图像
  • (4.10~4.16)
  • (day18) leetcode 204.计数质数
  • (PySpark)RDD实验实战——取最大数出现的次数
  • (solr系列:一)使用tomcat部署solr服务
  • (附源码)springboot 房产中介系统 毕业设计 312341
  • (附源码)ssm高校实验室 毕业设计 800008
  • (黑马出品_高级篇_01)SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式
  • (接口封装)
  • (详细文档!)javaswing图书管理系统+mysql数据库
  • (已解决)报错:Could not load the Qt platform plugin “xcb“
  • .NET Framework与.NET Framework SDK有什么不同?
  • .Net 中Partitioner static与dynamic的性能对比
  • .NET/C#⾯试题汇总系列:集合、异常、泛型、LINQ、委托、EF!(完整版)
  • .net中调用windows performance记录性能信息
  • .NET中使用Redis (二)
  • :中兴通讯为何成功
  • @JSONField或@JsonProperty注解使用
  • [ C++ ] STL_list 使用及其模拟实现
  • []指针
  • [240621] Anthropic 发布了 Claude 3.5 Sonnet AI 助手 | Socket.IO 拒绝服务漏洞
  • [AndroidStudio]_[初级]_[修改虚拟设备镜像文件的存放位置]
  • [Ariticle] 厚黑之道 一 小狐狸听故事