css基础(27)_行内、行内块元素之间的空白问题

行内、行内块元素之间的空白问题

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

案例一:

html 复制代码
<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>行内元素之间的空白问题</title>
</head>
<style>
    div{
        height: 500px;
        font-size: 20px;
    }
    .box1{
        background-color: aquamarine;
    }
    .box2{
        background-color:blueviolet;
    }
    .box3{
        background-color:burlywood;
    }
</style>
<body>
    <div>
        <span class="box1">张三</span>
        <span class="box2">李四</span>
        <span class="box3">王五</span>
    </div>  
</body>
</html>

解决方案:
方案一:去掉换行和空格。

html 复制代码
<body>
    <div>
        <span class="box1">张三</span><span class="box2">李四</span><span class="box3">王五</span>
    </div>  
</body>

方案二 :给父元素设置font-size:0,在给需要显示文字的元素,单独设置字体大小。

html 复制代码
<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>行内元素之间的空白问题</title>
</head>
<style>
    div{
        height: 500px;
        font-size: 0px;
    }
    .box1{
        font-size: 20px;
        background-color: aquamarine;
    }
    .box2{
        font-size: 20px;
        background-color:blueviolet;
    }
    .box3{
        font-size: 20px;
        background-color:burlywood;
    }
</style>
<body>
    <div>
        <span class="box1">张三</span>
        <span class="box2">李四</span>
        <span class="box3">王五</span>
    </div>  
</body>
</html>

行内块的幽灵空白问题

产生原因:

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

案例二:

html 复制代码
<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <title>行内元素、行内块元素之间的空白问题</title>
    <style>
        div{
            background-color: cadetblue;
        }
    </style>
</head>
<body>
    <div>
        <img src="../news_picture/no_picture1.png" alt="">xxxg
    </div>
</body>
</html>

解决方案:

方案一:给行内块设置vertical,值不为baseline即可,设置为middle、bottom、top均可。

css 复制代码
        div {
            background-color: cadetblue;
        }

        img {
            vertical-align: bottom;
        }

方案二:若父元素中只有一张图片(不含其他文字、字母等),设置图片为display:block

css 复制代码
        div{
            background-color: cadetblue;
        }
        img{
            display: block;
        }
相关推荐
胡萝卜术18 小时前
当大模型遇上浏览器:用 React + WebGPU 在前端跑通 DeepSeek-R1 的实战笔记
前端·javascript·面试
不好听61318 小时前
Tailwind CSS 原子化 CSS 完全入门:为什么现代前端开发都在用?
前端·css
触底反弹18 小时前
🔥 React 零基础入门(上):环境搭建 + JSX 深度解析
前端·react.js·typescript
why技术19 小时前
分享一套我一直在使用的 AICoding 组合拳,小而美的典范。
前端·后端·ai编程
朦胧之19 小时前
AI应用-消费流式输出
前端·javascript·ai编程
小林ixn19 小时前
在浏览器跑通 15 亿参数大模型:我用 React + WebGPU 复刻了 DeepSeek-R1
前端·react.js·前端框架
Csvn20 小时前
容器查询 @container 实战:告别无休止的媒体查询
前端
稚南城才子,乌衣巷风流1 天前
函数:编程中的核心概念
开发语言·前端·javascript
IT_陈寒1 天前
为什么我的JavaScript异步代码总是不按顺序执行?
前端·人工智能·后端
索西引擎1 天前
【React】useState 状态更新机制:批量更新策略与“异步“错觉的深层解析
前端·react.js·前端框架