2016-07-31 126 views
-4

我有一个包含一些html内容的固定高度div。当这个高度溢出时,我不希望滚动条出现,而是在div底部的按钮。只有当你按下这个按钮时,所有的内容才会显示出来,显然滚动条会自动显示。我知道有一个名为“溢出”的属性,你可以使用“滚动”值,但我不需要滚动条,直到用户按下按钮。请注意,如果没有发生溢出,应该没有按钮。在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来感知内容会溢出?

+0

你应该先尝试你问什么,和你已经尝试过什么礼物你的问题,具体是什么,你的卡上。此外,您的问题留给许多未知因素给任何人提供准确的答案。有许多JavaScript库,以及纯CSS的选项,可能会为你工作。 – DirtyRedz

+0

@DirtyRedz我不知道如何实现它,这就是为什么我问。我认为这个问题很明显,我只想在div底部有一个“SHOW MORE”按钮,还有一个ASCII图片。 – Nulik

+0

DirtyRedz在说什么,如果你问某个问题,你会有更好的机会得到答案。你的问题是非常开放的;有许多不同的方法来实现你所要求的。事实上,一个快速的网络搜索将揭示很多。 – Will

回答

2

您可以使用css仅实现此目的(使用checkbox:checked css状态)。

让我知道,如果不清楚。

注意: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>

+0

哇,你没有发布代码,它的一件艺术品。令人惊讶的简单。虽然它完全回答了我的问题,但我不能使用它,因为我必须使用JavaScript从数据库访问“更多内容”,所以100%的CSS不适合我。但也许别人会发布任何其他想法。非常感谢你提供这些提示,我的学习从未停止。 – Nulik

+0

谢谢!知道我帮助某人对我来说意义重大。关于你的评论:'从数据库访问“更多内容”你是什么意思? “更多内容”文本来自数据库?你能发布完全**从数据库返回的HTML吗? –