解决 Blazor 中因标签换行导致的行内元素空隙问题

这篇具有很好参考价值的文章主要介绍了解决 Blazor 中因标签换行导致的行内元素空隙问题。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

实践过不同前端框架的朋友应该都知道,对于同一个样式,在不同框架上的表现都会有不同,时时需要做“适配”,在 Blazor 上也不例外。在做 Ant Design Blazor 时就深有体会,因为我们是同步官方的样式,他们的样式只考虑了React 上的实现,除非有人专门提 PR,否则都不会特别考虑其他框架的实现。本文就介绍一个典型问题。

当我们使用 Razor 模板时,特别是使用 if for 等语句块时,都会导致 HTML 元素或者组件换行。而运行后输出的 HTML 也会换行,而浏览器对于HTML换行会转换成空格,空格又由于默认或继承的字体大小,让元素之间出现空隙。这对于本来就要换行的块状元素没什么问题,但对于想要在一行显示的行内元素,就会有一个空隙。下面是一个例子:

<div class="badge">
    <span>1</span>
    <span>2</span>
    <span>2</span>
</div>

<style>
    .badge {
        background-color: red;
        font-size: 32px;
    }

        .badge span {
            background-color: green;
        }
</style>

结果可以看出,数字之间和数字周围都有空隙:

而我们看下不换行是怎样的:

<div class="badge"><span>1</span><span>2</span><span>2</span></div>

<style>
    .badge {
        background-color: red;
        font-size: 32px;
    }

        .badge span {
            background-color: green;
        }
</style>

可以看到数字之间没有空隙。那么,怎么解决呢?

其实这属于 css 的一个常见问题,解决方法也通用的,就是想办法使那些从换行转换的空格的字号变为 0,使空隙消失,并恢复子元素的字号:

<div class="badge">
    <span>1</span>
    <span>2</span>
    <span>2</span>
</div>

<style>
    .badge {
        background-color: red;
        font-size: 0;
    }

        .badge span {
            background-color: green;
            font-size: 32px;
        }
</style>

结果:文章来源地址https://www.toymoban.com/news/detail-631408.html

到了这里,关于解决 Blazor 中因标签换行导致的行内元素空隙问题的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • CSS基础:块状元素、内联元素、内联块状元素(行内元素)

    CSS中,html中的标签元素大体被分为三种不同的类型:块状元素、内联元素(又叫行内元素)和内联块状元素。 1.常用的块状元素有: 2.常用的内联元素有: 3.常用的内联块状元素有: 什么是块级元素?在html中 就是块级元素。设置display:block就是将元素显示为块级元素。如下代码

    2023年04月12日
    浏览(35)
  • 解决弹性布局父元素设置高自动换行,子元素均分高度问题(align-content: flex-start)

    案例: 效果 当循环的item大于足够多的时候(垂直的高度大于父元素的高造成可以滑动的情况下) 情况就很正常。 但是要在item少的情况下也要是这样的效果。 这个时候就需要用到 align-content: flex-start ; 对于vue也是一样的解决办法。

    2024年02月22日
    浏览(39)
  • 4-web前端 盒子模型、行内块、浮动问题、无意义标签

    1、图文对齐(搜索框) 图片标签是典型的行内块元素 除此之外行内块元素还有表单元素input、button (行内块元素既可以设置宽高又可以和行元素在一行 行内块的转换问题 display (block块、inline行、inline-block行内块、none隐藏   转换后两个块中间存在空隙问题 2、浮动的元素参

    2024年02月08日
    浏览(34)
  • 1.1 css style 样式定义:行内 style 属性、单页 <style> 标签、多页 <style> 标签

    首先创建一个 staic 文件夹,用于存放图片、音视频、css 等文件夹资源: 把长宽等样式定义在某个标签的 style 属性中,仅对当前标签产生影响,如: img src=\\\"/images/mountain.jpg\\\" alt=\\\"\\\" style=\\\"width: 300px; height: 200px;\\\" style 里面不能省略掉像素单位 px 两种定义属性的方式: 不用 style:

    2024年02月06日
    浏览(39)
  • 行内元素文字背景被截断的问题,如何进行修改?

    这里背景是被截断的,有什么css样式可以修改它呢? 不一样的地方在于这里的截断位置是引用了开头和结尾的位置。 如何实现? 代码原理 MDN文档 不想看MDN box-decoration-break 属性用来定义当元素跨多行、多列或多页时,元素的片段应如何呈现。 值 slice 元素被按照盒子被切割

    2024年02月07日
    浏览(24)
  • 前端小案例3:Flex弹性布局行内元素宽度自适应

    项目背景:需要在一行上展示空调设备的三个模式(制冷、制热、通风)或者两个模式(制冷、制热);因为不同产品的模式数量不同,因此需要让模式按钮的宽度自适应,有两个模式时,单个模式宽度占据50%;三模式时,宽度占据33.3%。 可以使用Grid和Flex 弹性布局实现。

    2024年02月04日
    浏览(32)
  • CSS必学:元素之间的空白与行内块的幽灵空白问题

    作者: WangMin 格言: 努力做好自己喜欢的每一件事 CSDN原创文章 博客地址 👉 WangMin 我们在开发的过程中,难免会出现一些难以预料的问题。那么其中,CSS空白现象就是非常常见的问题之一。虽然它已经被发现很久,但仍然有许多新手和经验丰富的开发者们忽略了它对页面布局

    2024年02月06日
    浏览(28)
  • 解决selenium访问网页中多个iframe,导致无法锁定元素的问题

    获取全部的iframe列表 调试获取目标iframe 使用: browser.switch_to.frame(目标iframe) 退回到原有的状态: browser.switch_to.default_content() 不同的iframe之间的元素无法被selenium锁定,因此需要通过人为调试,得到具体的iframe窗口,进入目标iframe后才能够进行元素的锁定,锁定后就得到目标

    2024年02月22日
    浏览(32)
  • 【CSS 08】display 控制布局 块级元素 行内元素 隐藏元素 结合JS 最大宽度 浏览器窗口 定位 position z-index 堆叠

    说在前面 CSS基础教程系列已经结束,接下来就是中级教程,让我们跟上脚步,继续努力吧! 并且最近临近期末考试,后面十天休刊… display display 属性是用于控制布局的最重要的 CSS 属性 display 属性规定是否/如何显示元素 隐藏元素 - display:none 还是 visibility:hidden 通过将 disp

    2024年02月08日
    浏览(42)
  • CSS弹性盒子中弹性子元素文本超出弹性子元素宽或高后导致撑开弹性子元素原本宽或高的解决方法

    当使用弹性布局时,设置父容器为弹性容器后,弹性子元素的文本内容超出宽或高后会撑开弹性子元素的原本应该显示的宽高,溢出父容器,只要设置弹性子元素的宽或高(由父容器弹性排列方向决定)的属性值为0即可解决 文本溢出部分换行或者隐藏即可 问题解决

    2024年02月12日
    浏览(27)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包