【问题标题】:show "show more" button instead of a vertical scrollbar in a div在 div 中显示“显示更多”按钮而不是垂直滚动条
【发布时间】:2021-09-28 06:57:47
【问题描述】:

我有一个固定高度的 div,其中包含一些 html 内容。当这个高度溢出时,我不希望出现滚动条,而是在 div 的底部出现一个按钮。只有当你按下这个按钮时,所有的内容都应该显示出来,显然滚动条会自动显示出来。我知道有一个名为“溢出”的属性,您可以使用“滚动”值,但在用户按下按钮之前我不需要滚动条。请注意,如果没有发生溢出,则应该没有按钮。

---------------div starts-----------------
CONTENT CONTENT CONTENT CONTENT
CONTENT CONTENT CONTENT CONTENT
CONTENT CONTENT CONTENT CONTENT
CONTENT CONTENT CONTENT CONTENT
CONTENT CONTENT CONTENT CONTENT
CONTENT CONTENT CONTENT CONTENT
CONTENT CONTENT CONTENT CONTENT    

    [SHOW MORE BUTTON ]

---------------div ends-----------------

如果没有 jquery,你将如何实现它?用javascript怎么感觉内容会溢出?

【问题讨论】:

  • 您应该首先尝试您的要求,然后用您尝试过的内容提出您的问题,特别是您坚持的内容。此外,您的问题留给许多未知因素,任何人都可以给出准确的答案。有许多 javascript 库,以及可能对您有用的纯 css 选项。
  • @DirtyRedz 我不知道如何实现它,这就是我问的原因。我以为问题很清楚,我只想在 div 的底部有一个“SHOW MORE”按钮,还有一个 ASCII 图片。
  • DirtyRedz 的意思是,如果您提出特定问题,您将有更好的机会获得答案。您的问题非常开放;有许多不同的方法可以实现您的要求。事实上,快速的网络搜索会发现很多。

标签: html css


【解决方案1】:

您只能使用 css 来实现这一点(使用 checkbox:checked 状态)。

如果有什么不清楚的地方请告诉我。

注意:max-height:500px; 只是一个例子。如果内容假设更高,请使用此值。

input[type="checkbox"] {
  display: none;
}

label {
  color: blue;
  text-decoration: underline;
  margin-top: 10px;
  cursor: pointer;
  display: inline-block;
}

label:after {
  content: "more";
}

input:checked~label:after {
  content: "less";
}

.inner {
  max-height: 100px;
  overflow: hidden;
  transition: all .3s ease;
  width: 100px;
}

input:checked+.inner {
  max-height: 500px;
}
<div class="outer">
  <input type="checkbox" id="readmore" />
  <div class="inner">
    CONTENT CONTENT CONTENT CONTENT CONTENT CONTENT CONTENT CONTENT CONTENT CONTENT CONTENT CONTENT CONTENT CONTENT CONTENT CONTENT CONTENT CONTENT CONTENT CONTENT CONTENT CONTENT CONTENT CONTENT CONTENT CONTENT CONTENT CONTENT
  </div>
  <label for="readmore">Read </label>
</div>

【讨论】:

  • 哇,你没有发布代码,它是一件艺术品。简单得惊人。虽然它完全回答了这个问题,但我不能使用它,因为我必须使用 javascript 从数据库中访问“更多内容”,所以 100% 使用 CSS 不适合我。但也许其他人会发布任何其他想法。非常感谢您提供这些提示,我的学习永无止境。
  • 谢谢!知道我帮助过某人对我来说意义重大。关于你的评论:access that "more content" from database 你是什么意思? more content 文本来自数据库?您可以发布从数据库返回的确切 html吗?
  • 这很酷。唯一的一点是,即使内容很短且没有溢出,“阅读更多”仍然可见。我正在寻求一个仅在需要时显示“阅读更多”的解决方案。
  • 当然。为了解决这个问题,可以使用一小段 javascript。
猜你喜欢
  • 2010-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-08-26
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多