CSS 最大宽度文本大小问题

基兰姆v95

我有一个手风琴样式的标题,接下来我也需要对齐一个绝对定位的图标。我目前可以通过将图标设置为绝对并将 H3 标题设置为相对并将其负向右侧对齐来轻松完成此操作。

我遇到的问题是我的文本在移动设备上有一个最大宽度,以阻止它点击与右侧对齐的按钮,为图标留出空间。当文本点击此图标时,它跨越 2 行,但最大宽度意味着我的图标不再与文本对齐。有没有人知道任何解决方法可以将其与文本对齐

例子

请参阅下图,了解多行标题如何跨越 2 行以及最大宽度如何将图标放在最后

在此处输入图片说明

注释图像

在此处输入图片说明

代码

CSS

h3 {
    margin-bottom: 0;
    display: inline-block;
    padding: 0;
    font-weight: 800 !important;
    color: #211850 !important;
    font-size: 17px !important;
    line-height: 25px;
    font-size: 15px;
    max-width: calc(50% - 19px);
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.fa-question-circle-o {
    position: absolute;
    top: 50%;
    right: -25px;
    transform: translateY(-50%);
    margin-left: 0;
}

HTML

 <h3>
    {{ agreement.sectionName }}
    <i class="fa fa-question-circle-o" (click)="openModal(agreement.sectionName, agreement.infoContent)"></i>
</h3>
李斯特先生

处理此问题的一种方法是使用width: min-contentwhich 将宽度设置为显示所有内容所需的最小值。

(注意:在代码片段中,我不得不添加相当多的 HTML 和 CSS 以使其看起来像您的屏幕截图;如果您发布了一个最小、完整和可验证的示例会更好)。

section {
  width: 290px;
  height: 61px;
  position: relative;
  background: #eaeaea;
  border-radius: .5em;
  margin: .5em;
}

h3 {
  margin: 0;
  display: inline-block;
  padding: 0;
  font-weight: 800 !important;
  color: #211850 !important;
  font-size: 17px !important;
  line-height: 25px;
  font-size: 15px;
  max-width: calc(50% - 19px);
  position: absolute;
  left:0; top: 50%;
  transform: translateY(-50%);
  /* debug */
  outline: 2px solid red;
  /* solution */
  width: min-intrinsic;         /* old Safari */
  width: -moz-min-content;      /* Firefox */
  width: -webkit-min-content;   /* old Chrome */
  width: min-content;           /* modern browsers */
}

.fa-question-circle-o {
  position: absolute;
  top: 50%;
  right: -25px;
  transform: translateY(-50%);
  margin-left: 2px;
}

/* emulate FA */
.fa-question-circle-o::after {
  font-style: normal;
  content: '?';
  border: 2px solid;
  border-radius: 100%;
  display: inline-block;
  width: 1em;
  line-height: 1em;
  text-align: center;
  color:#969696;
}
<section>
  <h3>
    Test
    <i class="fa fa-question-circle-o" (click)="openModal(agreement.sectionName, agreement.infoContent)"></i>
  </h3>
</section>
<section>
  <h3>
    Testing
    <i class="fa fa-question-circle-o" (click)="openModal(agreement.sectionName, agreement.infoContent)"></i>
  </h3>
</section>
<section>
  <h3>
    Testing multiline
    <i class="fa fa-question-circle-o" (click)="openModal(agreement.sectionName, agreement.infoContent)"></i>
  </h3>
</section>

警告:

  • 这在 IE 和 Edge 中不起作用。如果你需要支持这些,这个解决方案就出来了
  • h3 的宽度将成为显示所有内容所需的最小值;这可能不是你想要的。将第一个的内容从“Test”更改为“XY Z”,看看我的意思。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Flaticon CSS图标大小问题

来自分类Dev

CSS图像调整大小问题

来自分类Dev

基础CSS输入大小问题

来自分类Dev

基础CSS字体大小问题(Android上的Chrome)

来自分类Dev

bootstrap css-两列内容调整大小问题

来自分类Dev

Bootstrap Css Mobile首先调整大小问题

来自分类Dev

使用多个屏幕编辑文本宽度大小问题

来自分类Dev

CSS div自动调整大小到内容,带有最大宽度和省略号文本

来自分类Dev

YUI CSS缩小问题

来自分类Dev

纯CSS3媒体查询的IE9响应图像调整大小问题

来自分类Dev

纯CSS3媒体查询的IE9响应图像调整大小问题

来自分类Dev

CSS的最大宽度不会调整图像大小

来自分类Dev

宽度和最大宽度(css)

来自分类Dev

CSS:Chrome宽度问题

来自分类Dev

CSS宽度:继承问题

来自分类Dev

具有最大最大宽度百分比的CSS文本溢出表单元格

来自分类Dev

CSS使表格最大宽度的100%

来自分类Dev

网页大小问题

来自分类Dev

Android Studio-跨多个设备的文本大小问题

来自分类Dev

HTML表格的CSS宽度问题

来自分类Dev

CSS窗口宽度调整问题

来自分类Dev

响应式CSS宽度问题

来自分类Dev

CSS过渡最大宽度和最大高度

来自分类Dev

CSS过渡最大宽度和最大高度

来自分类Dev

CSS元素最大大小

来自分类Dev

设置每行的最大宽度或在CSS中的文本部分插入换行符

来自分类Dev

Mixin大小参数CSS问题

来自分类Dev

CSS 文本大小和填充

来自分类Dev

CSS:不会将div的最大宽度居中