当前位置: 首页 > 知识库问答 >
问题:

禁止文本在绝对定位的div中换行

越狐若
2023-03-14

我发现了一个类似的问题,所以保存正常的文字包装在绝对定位的容器内。 然而,公认的解决方案并不能解决我的问题。 我有一个div,其位置为相对,它位于一个div位置为绝对div内。 我希望我的文本显示在单行中,而不是用每个单词换行。

我的文件结构如下所示

  return (
    <TooltipContainer
      modifiers={modifiers}
      width={wrapperWidth}
      height={wrapperHeight}
    >
      <TooltipArrow modifiers={modifiers} />

      <TooltipLabel
        modifiers={modifiers}
      >
        {text}
      </TooltipLabel>
    </TooltipContainer>
  );

我的样式组件如下所示

const TooltipContainer = styled.div`
  position: absolute;
  z-index: 1;
  display: block;
  word-wrap: break-word;
  top: 0px;
  text-align: center;
  ${(props) =>
    props.modifiers.includes("right") ? `margin-left: ${props.width}px` : ""};
  ${(props) =>
    props.modifiers.includes("left") ? `right: ${props.width}px` : ""};

  font-family: ${secondaryFont};
  font-size: ${buttonTypeScale.small};
  ${applyStyleModifiers(TOOLTIP_CONTAINER_MODIFIERS)};
`;

const TooltipLabel = styled.div`
  background-color: ${basic[1100]};
  border-radius: 4px;
  color: ${basic[100]};
  padding: 0.5625rem 0.5625rem 0.4375rem 0.5625rem;
  visibility: hidden;
  text-align: center;
  position: relative;
  img {
    height: 0.75rem;
    width: 0.75rem;
    vertical-align: middle;
  }
  ${applyStyleModifiers(TOOLTIP_LABEL_MODIFIERS)};
`;

我的问题与上面引用的问题的主要区别在于,我使用Margin-leftright来调整容器的位置。 我一直在测试不同的东西(设置不同的显示和位置),到目前为止,我发现唯一有效的是添加固定宽度或者设置width:100%,这两种方法都是不可取的,因为它们会改变填充。

共有1个答案

范玄裳
2023-03-14

您可以使用CSS空白:nowrap;来防止作品被包装。 但是请记住,这些单词可能会以这种方式运行在div之外。 如果您希望看到div之外的单词,则需要使用CSSoverflow:visible;

因为div不够大,所以这些单词被包装起来了。 您还可以尝试使用CSSwidth:fit-content;使div的宽度响应于内部的文本。

我看到你在第一个问题中链接了JSFiddle。 如果你有另一个JSFiddle,我可以看看,我可以告诉你我的意思。

 类似资料:
  • 问题内容: 在itext中,我有一个块/短语/段落(我不介意哪个),我想将页面上的其他位置放置在例如300 x 200的位置。我该怎么做? 问题答案: 最后,我编写了自己的方法。

  • 问题内容: 我需要在窗口中心放置一个(带有)元素。但是我遇到了问题,因为 宽度未知 。 我试过了 但是,由于宽度是响应性的,因此需要对其进行调整。 有任何想法吗? 问题答案:

  • 问题内容: 如您在下面的CSS中所看到的,我想将自己定位在之前。这是因为我当前正在开发的网站也可以在移动设备上工作,该网站应该位于底部,因为它包含了我想要在移动设备内容下方显示的导航。-为什么没有2个母版页?这是在整个HTML中重新定位的仅有2个,因此,此较小更改的2个母版页是一个过大的功能。 HTML: CSS: 具有动态高度,因为不同的子站点可能具有更多或更少的导航项。 我知道绝对定位元素已从

  • 正如您可以在下面的CSS中看到的,我希望将自己定位在之前。这是因为我目前正在开发的网站也应该在移动设备上工作,其中应该在底部,因为它包含我想要在移动设备上的内容下面的导航。-为什么不是2个主页?这是整个超文本标记语言中唯一被重新定位的两个,所以这一微小变化的两个主页是一个过度。 超文本标记语言: CSS: 具有动态高度,因为不同的子网站可能有更多或更少的导航项。 我知道绝对定位元素从流中移除,因此

  • 问题内容: 在下面的示例中,绝对定位,我需要将其水平居中。通常,我会为相对定位的元素执行“ a”操作,但是我被困在这里。有人可以给我指路吗? HTML CSS 问题答案: 如果要在左属性上居中对齐。 对于顶部对齐,同样可以使用margin-top:(div的width / 2),概念与left属性相同。 将标头元素设置为position:relative很重要。 尝试这个: 如果您不想使用计算,可

  • 问题内容: 我知道有关类似主题的一些问题,但它们大部分相当于浮动div /图像。我需要将图像(和div)放置在绝对位置(向右偏移),但我只希望文本围绕它流动。如果我将div浮动,则可以使用,但是无法将其放置在所需的位置。因为它是文字,只是在图片后面流动。 是HTML的示例 随着CSS是: 这是一个Drupal主题,所以这些代码都不是我的,只是在将图片放在那里时,它并没有完全起作用。 问题答案: 绝

  • 当一个元素的 position属性设置为 absolute 或 fixed,它将使用绝对定位。绝对定位的元素将从文档流中完全删除,它原先在正常文档流中所占的空间会关闭,就好像该元素不存在一样,因此不会在原先的位置留下空白。 绝对定位的元素相对它的包含块进行定位。position: absolute 元素的包含块是最近已定位(position属性被设置,且不是static)的祖先元素,如果没有已定位

  • 问题内容: 根据W3Schools: 相对定位的元素通常用作绝对定位元素的容器块。 为什么是这样?有没有很好的例子? 问题答案: 一个很好的例子是当您想将某些内容放置到页面上或相对于容器/ div放置时。 这向您显示,如果绝对div不在“相对” div内,则内容将与文档主体对齐。 请注意,绿色div()的div内部()的对齐方式为的上/右对齐。 蓝色框()具有与绿色框()完全相同的HTML布局,但