CSS -创建两个不同大小的列,一个固定大小,另一个占据行的其余部分

yhqotfr8  于 2023-02-17  发布在  其他
关注(0)|答案(1)|浏览(128)

我的问题的要点是,我正在制作一个内部带有树状视图的应用程序,带有可折叠的选项卡和选项卡标题。我很难将选项卡的标题分为两列,一列是指示它是打开还是关闭的图标(chevron?),另一列是选项卡的实际标题。下面的图片是我的问题的一个例子:

标签的第一行很好,写着“Gorge”的部分很好,内部标签的第一行“A narrow opening between”也很好,但是当标签标题的文本延伸到下一行时,我不希望它在图标下面就像它在这里做的那样。本质上,我想要的是,如果在下面的图片中,所有的文本在“一个狭窄的开口之间...”开始超过红线,绿色的框里根本没有文字。

我知道这在CSS中是可能的,因为看起来了解CSS的人可以用它创建任何他们可能想要的东西。但我是一个苦力。请帮助。

lb3vh1jj

lb3vh1jj1#

您尝试实现的布局看起来非常类似于内置的嵌套列表--文本内容的缩进层,旁边有一个漂亮的小图标。这可以通过在伪选择符之前添加一些边距、填充和::来轻松实现。

li {
  /* Just illustrating text wrap! */
  max-width: 200px;
}

.list h1 {
  font-size: 1rem;
}

.list p {
  /* If you inspect the user agent stylesheet (basic styles for
     HTML elements provided by the browser) for <ul> and <li>, 
     you will find something similar to the below 
  */
  margin-left: 15px;
  padding-left: 10px;
  
  /* Just illustrating text wrap! */
  max-width: 200px;
}

/* This puts the icon before each of our fake list items, but isn't part of the text area so will float beside it instead of in-line */
.list p::before {
  content: ">";
  position: absolute;
  left: 20px;
}
<ul>
  <li>Gorge<ul>
    <li>A narrow opening between hillsides or mountains...</li>
  </ul></li>
  <li>Ledge<ul>
    <li>a narrow horizontal surface projecting...</li>
  </ul></li>
</ul>

<div class="list">
  <div>
    <h1>Gorge</h1>
    <p>A narrow opening between hillsides or mountains...</p>
    <p>A narrow opening between hillsides or mountains...</p>
  </div>
  
</div>

相关问题