#html #css #bootstrap-4
#HTML #css #bootstrap-4
Вопрос:
У меня есть абзац, в котором, если строка больше 3, то в нем должно отображаться «Показать больше опций», и если я нажму на него, он расширит абзац и «Показать меньше опций» должен отображаться.»Если я нажму » показывать меньше», это приведет к свертыванию абзаца. Я должен сделать это только с помощью bootstrap, без jquery и javascript.
Комментарии:
1. Можете ли вы поделиться кодом, который вы уже пробовали?
2. Я почти уверен, что в Bootstrap нет такого встроенного элемента управления … а если бы и был, то для его сборки использовался бы JavaScript с библиотекой jQuery.
3. Я должен сделать высоту строки абзаца 1rem и общую высоту 3 rem для 3 строк. Я установил свойство overflow скрытым. Если я нажму на ссылку «Показать больше», тогда должен появиться текст переполнения.
4. вы можете сделать это с помощью
js
, переключаясь между значениями свойства overflow
Ответ №1:
вы можете выполнить эффект, используя javascript
и jquery
вам нужно сделать что-то вроде этого; jsfiddle
$("document").ready(function(){
// find elements
var banner = $("#banner-message")
var button = $("button")
// when first load the window
if($('.option').length>3){
$('.option').each(function(index){
var option=$(this);
if(index>2){
option.toggleClass('hidden');
}
})
}
// handle click and add class
button.on("click", function(){
if($('.option').length>3){
$('.option').each(function(index){
var option=$(this);
if(index>2){
option.toggleClass('hidden');
}
});
}
});
});
body {
background: #20262E;
padding: 20px;
font-family: Helvetica;
}
#banner-message {
background: #fff;
border-radius: 4px;
padding: 20px;
font-size: 25px;
text-align: center;
transition: all 0.2s;
margin: 0 auto;
width: 300px;
}
button {
background: #0084ff;
border: none;
border-radius: 5px;
padding: 8px 14px;
font-size: 15px;
color: #fff;
}
#banner-message.alt {
background: #0084ff;
color: #fff;
margin-top: 40px;
width: 200px;
}
#banner-message.alt button {
background: #fff;
color: #000;
}
.hidden {
display: none;
}
body {
background: #20262E;
padding: 20px;
font-family: Helvetica;
}
#banner-message {
background: #fff;
border-radius: 4px;
padding: 20px;
font-size: 25px;
text-align: center;
transition: all 0.2s;
margin: 0 auto;
width: 300px;
}
button {
background: #0084ff;
border: none;
border-radius: 5px;
padding: 8px 14px;
font-size: 15px;
color: #fff;
}
#banner-message.alt {
background: #0084ff;
color: #fff;
margin-top: 40px;
width: 200px;
}
#banner-message.alt button {
background: #fff;
color: #000;
}
.hidden {
display: none;
}
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>Document</title>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
</head>
<body>
<div id="banner-message">
<div class='option'> option1</div>
<div class='option'> option2</div>
<div class='option'> option3</div>
<div class='option'> option4</div>
<button>Change color</button>
</div>
</body>
</html>