子元素宽度设置50%无法并排显示的问题

2024-03-23 09:08

本文主要是介绍子元素宽度设置50%无法并排显示的问题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Write By Monkeyfly

以下内容均为原创,如需转载请注明出处。

前提

  • 需求需要实现的效果图如下所示。
    这里写图片描述

  • 但为了让两个设置了display:inline-block;div并排显示时,却出现了换行的问题。(如下图所示)
    这里写图片描述

解决方法

方法1. width:49%;(虽然解决了布局的问题, 但是还是不明白为什么了宽度设置了50%会失效。)

为了找到原因,专门去百度寻找了一番,最终得到的答案就是:HTML的标签之间是会存在间距的。

对于这个间距而言,就涉及到了HTML的另一个知识点:空白折叠现象。

问:何谓空白折叠现象
答:HTML 代码中所有连续的空格换行tab(制表符)都会被算作一个空格显示在页面上。

注:
(1)在平时的开发中,我们为了提高代码的整洁性和可读性,经常会用换行和缩进调整HTML代码的结构,使其看起来美观简洁,可读性比较强。但殊不知,这样做还会带来一系列的问题。
(2)而且我们也知道,如果要实现连续的空格,是不能在HTML的标签中使用连续的空格来表示的,即<span>登空格空格空格录<span>因为即使你输入再多的空格,浏览器也只会将它解析为一个空格。所以,我们都会使用表示空格的字符实体&nbsp;来实现,即<span>登&nbsp;&nbsp;&nbsp;录<span>

【不懂的戳这里】什么是空白折叠现象?为什么要空白折叠呢?

现在,我们明白了,导致标签之间存在间距的原因有:代码换行、tab(制表符)、空格

问:那么,如何去掉html标签之间的间距的?

答:标签产生间距的解决方案如下

  • 元素写成一行;【不推荐使用该方法】当代码较多时,比如说ul>li的布局,代码可读性和可维护性较差
//原始
<div class="father"><div class="son son1">我是div1</div>//此处的换行,在页面上显示时就是一个空格。<div class="son son2">我是div2</div>//因为有默认的字体大小,所以div之间会存在间距
</div>
//改变后:
<div class="father"> //当我们想让它们在同一行连续显示时,就让所有的代码之间没有空格,也不要换行。<div class="son son1">我是div1</div><div class="son son2">我是div2</div>
</div>
  • 给父元素设置font-size:0。【推荐使用】方便快捷

原理:多出来的其实是换行符,所以将字体设置为0,那么换行符就是0px不会显示了。但是如果将HTML标签写成一行的话,就没有换行符了。

注意:因为子元素会继承父元素的字体大小,所以此处需要给子元素单独设置font-size属性,否则文字显示不出来。

参考资料:

  • html的空格和换行显示 - 2350305682 - 博客园
  • font-size:0的作用
  • 如何去掉html标签之间的间距
  • font-size: 0;解决inline元素间的空白间隙

案例演示

源代码:

<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><title>50%平分宽度的问题</title><style>div{padding:0;margin:0;}.father{width: 200px;height: 100px;border:1px solid #666;font-size:0;}.son{width: 50%;height: 100%;display: inline-block;color:#fff;font-size: 16px;}.son1{background-color: #666;}.son2{background-color: #0dcee7;}</style>
</head>
<body><div class="father"><div class="son son1">我是div1</div><div class="son son2">我是div2</div></div>
</body>
</html>

效果展示

谷歌浏览器显示效果如下所示:
这里写图片描述

搜狗浏览器显示效果如下所示:
这里写图片描述

火狐浏览器显示效果如下所示:
这里写图片描述

说明:不同的浏览器厂商在效果显示上会存在差异。边框处留白的具体原因暂且未知。

这篇关于子元素宽度设置50%无法并排显示的问题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/837830

相关文章

解决IDEA报错:编码GBK的不可映射字符问题

《解决IDEA报错:编码GBK的不可映射字符问题》:本文主要介绍解决IDEA报错:编码GBK的不可映射字符问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录IDEA报错:编码GBK的不可映射字符终端软件问题描述原因分析解决方案方法1:将命令改为方法2:右下jav

MyBatis模糊查询报错:ParserException: not supported.pos 问题解决

《MyBatis模糊查询报错:ParserException:notsupported.pos问题解决》本文主要介绍了MyBatis模糊查询报错:ParserException:notsuppo... 目录问题描述问题根源错误SQL解析逻辑深层原因分析三种解决方案方案一:使用CONCAT函数(推荐)方案二:

Redis 热 key 和大 key 问题小结

《Redis热key和大key问题小结》:本文主要介绍Redis热key和大key问题小结,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录一、什么是 Redis 热 key?热 key(Hot Key)定义: 热 key 常见表现:热 key 的风险:二、

IntelliJ IDEA 中配置 Spring MVC 环境的详细步骤及问题解决

《IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决》:本文主要介绍IntelliJIDEA中配置SpringMVC环境的详细步骤及问题解决,本文分步骤结合实例给大... 目录步骤 1:创建 Maven Web 项目步骤 2:添加 Spring MVC 依赖1、保存后执行2、将新的依赖

Spring 中的循环引用问题解决方法

《Spring中的循环引用问题解决方法》:本文主要介绍Spring中的循环引用问题解决方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录什么是循环引用?循环依赖三级缓存解决循环依赖二级缓存三级缓存本章来聊聊Spring 中的循环引用问题该如何解决。这里聊

Spring Boot中JSON数值溢出问题从报错到优雅解决办法

《SpringBoot中JSON数值溢出问题从报错到优雅解决办法》:本文主要介绍SpringBoot中JSON数值溢出问题从报错到优雅的解决办法,通过修改字段类型为Long、添加全局异常处理和... 目录一、问题背景:为什么我的接口突然报错了?二、为什么会发生这个错误?1. Java 数据类型的“容量”限制

关于MongoDB图片URL存储异常问题以及解决

《关于MongoDB图片URL存储异常问题以及解决》:本文主要介绍关于MongoDB图片URL存储异常问题以及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录MongoDB图片URL存储异常问题项目场景问题描述原因分析解决方案预防措施js总结MongoDB图

SpringBoot项目中报错The field screenShot exceeds its maximum permitted size of 1048576 bytes.的问题及解决

《SpringBoot项目中报错ThefieldscreenShotexceedsitsmaximumpermittedsizeof1048576bytes.的问题及解决》这篇文章... 目录项目场景问题描述原因分析解决方案总结项目场景javascript提示:项目相关背景:项目场景:基于Spring

解决Maven项目idea找不到本地仓库jar包问题以及使用mvn install:install-file

《解决Maven项目idea找不到本地仓库jar包问题以及使用mvninstall:install-file》:本文主要介绍解决Maven项目idea找不到本地仓库jar包问题以及使用mvnin... 目录Maven项目idea找不到本地仓库jar包以及使用mvn install:install-file基

使用Python从PPT文档中提取图片和图片信息(如坐标、宽度和高度等)

《使用Python从PPT文档中提取图片和图片信息(如坐标、宽度和高度等)》PPT是一种高效的信息展示工具,广泛应用于教育、商务和设计等多个领域,PPT文档中常常包含丰富的图片内容,这些图片不仅提升了... 目录一、引言二、环境与工具三、python 提取PPT背景图片3.1 提取幻灯片背景图片3.2 提取