line-height与图片底部间隙的学习整理转述

前言:这是笔者学习之后自己的理解与整理。如果有错误或者疑问的地方,请大家指正,我会持续更新!

 

看大牛张鑫旭的视屏可能会理解的更深一些,点击这里;

line-height,两行文字的基线之间的距离;

基线,英语本子中就有,顶线,中线,基线,底线;

行内框盒子模型

  • 内容区域(content area),一个围绕文字的看不到的盒子,相当于鼠标选i中时的区域,只和font-size、font-family有关;
  • 内联盒子(inline boxes),不会让内容成块显示,而是排成一行(inline),如果只是文字,就是匿名内联盒子,如span;
  • 行框盒子(line boxes),每一行都是一个行框盒子,由内联盒子组成,如果换行,那就是两个行框盒子;
  • 包含盒子(containing box),由行框盒子组成,如p;

 

内联元素的高度是由行高决定的;

高度的表现不是行高,是内容区域和行间距, 行高(line-height) = 内容区域高度(content area) 行间距(vertical spacing)

 

line-height:normal;(默认值,与font-size和font-family有关)

line-height:number;(根据font-size大小计算,相乘的结果就是行高)

line-height:length;(固定值,em、rem、px)

line-height:percent;(根据font-size计算)

line-height:inherit;(继承行高,input默认的行高是normal)

阅读类网站行高一般设置1.5就好了;网站开发匹配20px(20/font-size);

body{font-size:14px; line-height:1.4286}

 

图片底部间隙

  图文混排的情况下,inline元素在默认情况下的vertial-align是baseline(基线)对齐的,这时容器高度 = 文字行高 - 基线位置高度 inline元素高度,所以图片下边会有一段间隙;

  消除底部间隙的方法:

  • 改变图片元素类型,vertical-align只对inline和inline-block元素有效,图片设置display:block之后就不受影响了;
  • 图片设置底线对齐,vertical-align:bottom;
  • 父容器行高足够小,基线上移,父容器设置line-height:0或者font-size:0;

   

  代码如下:

<!DOCTYPE html>
<html><head><meta charset="UTF-8"><title></title><style type="text/css">*{padding: 0;margin: 0;}.wrapper{width: 300px;background: #0ff;margin: 100px;line-height: 0;/*font-size: 0;也可以哦,0*0=0 */}.wrapper img{width: 150px;}</style></head><body><div class="wrapper"><img src="images/1.jpg"/></div></body>
</html>
View Code

 

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

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

相关文章

java学习之异常之格式

第一个格式&#xff1a; try{}catch(){} 第二个格式&#xff1a; try{}catch(){}finally{} 第三个格式&#xff1a; try{}finally{} 注意&#xff1a;catch是用于处理异常&#xff0c;如果没有catch就代表异常没有被处理过&#xff0c;如果该异常是检测时异常&#xff0c;那么必…

分数DRL:在OptaPlanner中更快,更轻松

对于OptaPlanner &#xff08; Drools Planner&#xff09;6.0.0.Beta1&#xff0c;我已经用更优雅的ConstraintMatch系统替换了ConstraintOccurrence。 结果是您的DRL评分文件为&#xff1a; 快多了 更容易读写 错误的发生率要低得多&#xff0c;因为它们使分数损坏变得更加…

mysql 的数据库实例理解_理解数据库和实例

数据库&#xff1a;物理操作系统文件或者其他形式文件类型的集合。在mysql中&#xff0c;数据库文件可以是frm、MYD、MYI、ibd等结尾的文件。当使用NDB引擎时&#xff0c;数据库的文件可能不是操作系统文件&#xff0c;而是存放于内存之中的文件。实例&#xff1a;mysql数据库由…

STM32 环境搭建

从之前的51&#xff0c;到后来的AVR&#xff0c;再到现在的STM32&#xff0c;处理器的处理能力在不断的提高&#xff0c;我们也跟随着处理器一步一步的玩到了STM32 目前STM32的开发环境很多&#xff0c;常用的例如Keil&#xff0c;IAR等&#xff0c;但是这些软件都是收费的&…

css常用属性初总结:伪元素和伪元素

前面几遍中我们分别说到了id选择器和class选择器&#xff0c;以及它们的区别和联系&#xff0c;下面大家一起来探究一下神奇的为类和伪元素吧。 其实以前我对伪类和伪元素也是搞得稀里糊涂的&#xff0c;现在决定剥开它神秘的外衣&#xff0c;首先&#xff0c;究竟什么是伪类&…

Java 8:CompletableFuture的权威指南

Java 8即将到来&#xff0c;因此该学习新功能了。 尽管Java 7和Java 6只是次要的发行版&#xff0c;但版本8将向前迈出一大步。 也许太大了&#xff1f; 今天&#xff0c;我将为您详细介绍JDK 8中的新抽象– CompletableFuture<T> 。 众所周知&#xff0c;Java 8有望在不…

mysql数据库工程师网易微专业_网易MySQL数据库工程师微专业学习笔记(五)

一、mysql数据库中的存储引擎mysql在创建数据表时可以通过engine关键字设置存储引擎的类型&#xff0c;也可以通过alter命令来修改表的存储引擎。可以通过show engines命令来查看当前mysql数据库支持的存储引擎的类型&#xff0c;一般场景的存储引擎有&#xff1a;InnoDB、MyIS…

Java并发编程笔记之ConcurrentLinkedQueue源码探究

JDK 中基于链表的非阻塞无界队列 ConcurrentLinkedQueue 原理剖析&#xff0c;ConcurrentLinkedQueue 内部是如何使用 CAS 非阻塞算法来保证多线程下入队出队操作的线程安全&#xff1f; ConcurrentLinkedQueue是线程安全的无界非阻塞队列&#xff0c;其底层数据结构是使用单向…

03 Day Python数据类型

一&#xff1a;什么是数据&#xff1f; x10&#xff0c;10是我们要存储的数据 2 为何数据要分不同的类型 数据是用来表示状态的&#xff0c;不同的状态就应该用不同的类型的数据去表示 3 数据类型 数字 字符串 列表 元组 字典 集合 二&#xff1a;数字int #bit_length() 当十进…

border三角形阴影(不规则图形阴影)和多重边框的制作

前言&#xff1a;这是笔者学习之后自己的理解与整理。如果有错误或者疑问的地方&#xff0c;请大家指正&#xff0c;我会持续更新&#xff01; 1. border的组合写法 border&#xff1a;border-width border-style border-color; border-width&#xff1a;边框宽度&#xff0…

JDK 8 Javadoc调整了方法列表

自开始以来&#xff0c; Javadoc输出基本上是静态HTML&#xff0c;具有导航链接和外观的简单样式表样式。 Java SE 7很长时间以来就看到Javadoc输出默认外观的第一个重大变化 &#xff0c;现在看来JDK 8将在生成的Javadoc输出上引入新的变化。 在本文中&#xff0c;我将通过JDK…

hdp安装 不安装mysql_hdp安装及使用问题汇总(一)

1)安装HDP时&#xff0c;如果打印如下错误信息&#xff1a;[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:579)是由于系统的python版本过高&#xff0c;导致验证ssl失败&#xff0c;将python降级为2.7.5以下或修改每个安装节点的python证书验证配置文件…

PhotoSphereViewer 全景图

1网站地址&#xff1a;http://photo-sphere-viewer.js.org/markers.html#demo 2参数中文地址&#xff1a;https://www.cnblogs.com/big-tree/p/5933437.html 使用方法&#xff1a; /*** Initialize the viewer*/ var PSV new PhotoSphereViewer({ // main configuration panor…

常用Lunix命令

计算机 1.硬件系统 输入单元、输出单元、算术逻辑单元、控制单元、记忆单元 中央处理单元&#xff1a;CPU&#xff08;算术逻辑单元、控制单元&#xff09; 电源、主板、CPU、内存&#xff08;RAM&#xff09;、硬盘、&#xff08;声卡、显卡、网卡&#xff09;&#xff08;集成…

angularJS constant和value

angularJS可以通过constant(name,value)和value(name,value)对于创建服务也是很重要的。 相同点是&#xff1a;都可以接受两个参数&#xff0c;name和value。 区别&#xff1a; 1.constant(name,value)可以将一个已经存在的变量值注册为服务&#xff0c;并将其注入到应用的其他…

让我们编写一个文档样式的Web服务

您可能知道&#xff0c;我们可以使用四种主要的Web服务样式。 它们如下&#xff1a; 文件/文学 包装的文件/文学 RPC /编码 RPC /文字 当然&#xff0c;现在不建议使用RPC /编码样式。 如果您有兴趣&#xff0c;可以在此处找到这篇非常全面的文章&#xff0c;以了解不同的…

linux 进入容器,查看和关闭进程

1&#xff0c;linux 查询容器 ID&#xff1a; docker ps 2&#xff0c;进入容器&#xff08;退出 exec 命令用&#xff1a;[ctrlD] &#xff0c;不会终止容器运行。退出 top 命令&#xff1a;ctrl C&#xff09; docker exec -it c39c9d3898c0 /bin/bash 3&#xff0c;查询进程…

mysql表单查询_MySQL表单集合查询

表单查询简单查询SELECT语句查询所有字段指定所有字段&#xff1a;select 字段名1,字段名2&#xff0c;...from 表名;select * from 表名;查询指定字段select 字段名1,字段名2&#xff0c;...from 表名;按条件查询带关系运算符的查询SELECT 字段名1,字段名2,……FROM 表名WHERE…

解决阿里云OSS跨域问题

解决阿里云OSS跨域问题 现象 本人项目中对阿里云图片请求进行了两次&#xff0c;第一次通过img标签进行&#xff0c;第二次通过异步加载获取。第一次请求到图片&#xff0c;浏览器会进行缓存&#xff0c;随后再进行异步请求&#xff0c;保存跨域失效。 错误信息如下&#xff1a…

css之hover改变子元素和其他元素样式

参考地址&#xff1a;链接 表示下一级元素&#xff0c;>表示子元素 1 <!DOCTYPE html>2 <html>3 <head lang"en">4 <meta charset"UTF-8">5 <title></title>6 </head>7 8 <style>9 #a {co…