Как сделать список мультимедиа bootstrap с полосой прокрутки? - PullRequest
0 голосов
/ 30 мая 2020

Вот мой код:

<html>
	<head>
		<!-- Required meta tags -->
		<meta charset="utf-8">
		<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

		<!-- Bootstrap CSS -->
		<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous">
		<!-- Optional JavaScript -->
		<!-- jQuery first, then Popper.js, then Bootstrap JS -->
		<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
		<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
		<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js" integrity="sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI" crossorigin="anonymous"></script>
		<style>
			
		</style>	
	</head>
	<body class="p-1">
		<div class="p-0 container-fluid">
			<div class="p-0 row h-25 no-gutters">
				<div class="p-0 col-12 col-sm-12 col-lg-12 col-xl-12">
					<video id="selfView" class="h-100 w-100 position-absolute" controls muted>
						<source src="https://www.w3schools.com/html/mov_bbb.mp4" type="video/mp4">
					</video>
				</div>
			</div>
			<div class="p-0 row no-gutters">
				<div class="d-flex flex-row justify-content-center p-0 col-12 col-sm-12 col-lg-12 col-xl-12">
					<div class="btn-group-toggle p-1" data-toggle="buttons">
					  <label class="btn btn-sm btn-lg btn-success">
						TV:<span class="badge badge-success">On</span>
						<input type="checkbox" id="shareVideo" checked>
					  </label>
					</div>
					<div class="btn-group-toggle p-1" data-toggle="buttons">
					  <label class="btn-sm btn btn-lg btn-success">
						Light:<span class="badge badge-success">On</span>
						<input type="checkbox" id="shareAudio" checked>
					  </label>
					</div>
					<div class="btn-group-toggle p-1" data-toggle="buttons">
					  <label class="btn-sm btn btn-lg btn-danger">
						Air Cond:<span class="badge badge-danger">Off</span>
						<input type="checkbox" id="shareScreen">
					  </label>
					</div>
					<div class="btn-group-toggle p-1">
						<button class="btn-sm btn btn-lg btn-success">Create a meeting</button>
					</div>
				</div>
			</div>
			<div class="p-0 row no-gutters">
				<div class="p-0 col-12 col-sm-12 col-lg-12 col-xl-12">
					<ul class="nav nav-pills p-1 d-flex justify-content-around" id="pills-tab" role="tablist">
						<li class="nav-item">
							<a class="nav-link active" 
								id="pills-info-tab" data-toggle="pill" 
								href="#pills-info" role="tab" aria-controls="pills-info" aria-selected="true">
								i
							</a>
						</li>
						<li class="nav-item">
							<a class="nav-link" 
								id="pills-member-tab" data-toggle="pill" 
								href="#pills-member" role="tab" aria-controls="pills-member" aria-selected="false">
								f
							</a>
						</li>
						<li class="nav-item">
							<a class="nav-link" 
								id="pills-message-tab" data-toggle="pill" 
								href="#pills-message" role="tab" aria-controls="pills-message" aria-selected="false">
								c
							</a>
						</li>
					</ul>
					<div class="tab-content border border-success position-relative" id="pills-tabContent">	
						
							<div class="tab-pane fade p-0 show active " id="pills-info" role="tabpanel" aria-labelledby="pills-member-tab">
								<ul class="list-unstyled overflow-auto h-100">
								  <li class="media">
									a
								  </li>
								  <li class="media">
									b
								  </li>
								  <li class="media">
									c
								  </li>
								  <li class="media">
									a
								  </li>
								  <li class="media">
									b
								  </li>
								  <li class="media">
									c
								  </li>
								  <li class="media">
									a
								  </li>
								  <li class="media">
									b
								  </li>
								  <li class="media">
									c
								  </li>
								  <li class="media">
									a
								  </li>
								  <li class="media">
									b
								  </li>
								  <li class="media">
									c
								  </li>
								  <li class="media">
									a
								  </li>
								  <li class="media">
									b
								  </li>
								  <li class="media">
									c
								  </li>
                  <li class="media">
									a
								  </li>
								  <li class="media">
									b
								  </li>
								  <li class="media">
									c
								  </li>
								</ul>
							</div>
							<div class="tab-pane fade p-0" id="pills-member" role="tabpanel" aria-labelledby="pills-member-tab">	
								2
							</div>
							<div class="tab-pane fade p-0" id="pills-message" role="tabpanel" aria-labelledby="pills-member-tab">	
								3
							</div>
						
					</div>
				</div>
			</div>
		</div>
	</body>
</html>

Как я могу сделать список мультимедиа bootstrap (т.е. строка 81) с полосой прокрутки?

Я использую "относительное положение" и класс "position-absolute", чтобы браузер отображал полосу прокрутки.

К сожалению, это не работает.

Это потому, что когда я просматриваю веб-страницу с помощью мобильного телефона, медиа список слишком длинный.

Ответы [ 2 ]

1 голос
/ 30 мая 2020

Полоса прокрутки может быть добавлена ​​с помощью класса CSS со следующими двумя атрибутами:

  1. overflow-y: scroll
  2. max-height: height;

Пример CSS класса для полосы прокрутки:

        .scroll-bar {
            overflow-x: scroll;
            overflow-y: scroll;
            max-height: 100px;
        }

Вот рабочий пример с добавлением класса CSS в список:

<html>
    <head>
        <!-- Required meta tags -->
        <meta charset="utf-8">
        <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">

        <!-- Bootstrap CSS -->
        <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous">
        <!-- Optional JavaScript -->
        <!-- jQuery first, then Popper.js, then Bootstrap JS -->
        <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous"></script>
        <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
        <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js" integrity="sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI" crossorigin="anonymous"></script>

        <style>
            .scroll-bar {
                overflow-x: scroll;
                overflow-y: scroll;
                max-height: 100px;
            }
        </style>    
    </head>
    <body class="p-1">
        <div class="p-0 container-fluid">
            <div class="p-0 row h-25 no-gutters">
                <div class="p-0 col-12 col-sm-12 col-lg-12 col-xl-12">
                    <video id="selfView" class="h-100 w-100 position-absolute" controls muted>
                        <source src="https://www.w3schools.com/html/mov_bbb.mp4" type="video/mp4">
                    </video>
                </div>
            </div>
            <div class="p-0 row no-gutters">
                <div class="d-flex flex-row justify-content-center p-0 col-12 col-sm-12 col-lg-12 col-xl-12">
                    <div class="btn-group-toggle p-1" data-toggle="buttons">
                      <label class="btn btn-sm btn-lg btn-success">
                        TV:<span class="badge badge-success">On</span>
                        <input type="checkbox" id="shareVideo" checked>
                      </label>
                    </div>
                    <div class="btn-group-toggle p-1" data-toggle="buttons">
                      <label class="btn-sm btn btn-lg btn-success">
                        Light:<span class="badge badge-success">On</span>
                        <input type="checkbox" id="shareAudio" checked>
                      </label>
                    </div>
                    <div class="btn-group-toggle p-1" data-toggle="buttons">
                      <label class="btn-sm btn btn-lg btn-danger">
                        Air Cond:<span class="badge badge-danger">Off</span>
                        <input type="checkbox" id="shareScreen">
                      </label>
                    </div>
                    <div class="btn-group-toggle p-1">
                        <button class="btn-sm btn btn-lg btn-success">Create a meeting</button>
                    </div>
                </div>
            </div>
            <div class="p-0 row no-gutters">
                <div class="p-0 col-12 col-sm-12 col-lg-12 col-xl-12">
                    <ul class="nav nav-pills p-1 d-flex justify-content-around" id="pills-tab" role="tablist">
                        <li class="nav-item">
                            <a class="nav-link active" 
                                id="pills-info-tab" data-toggle="pill" 
                                href="#pills-info" role="tab" aria-controls="pills-info" aria-selected="true">
                                i
                            </a>
                        </li>
                        <li class="nav-item">
                            <a class="nav-link" 
                                id="pills-member-tab" data-toggle="pill" 
                                href="#pills-member" role="tab" aria-controls="pills-member" aria-selected="false">
                                f
                            </a>
                        </li>
                        <li class="nav-item">
                            <a class="nav-link" 
                                id="pills-message-tab" data-toggle="pill" 
                                href="#pills-message" role="tab" aria-controls="pills-message" aria-selected="false">
                                c
                            </a>
                        </li>
                    </ul>
                    <div class="tab-content border border-success position-relative" id="pills-tabContent"> 

                            <div class="tab-pane fade p-0 show active" id="pills-info" role="tabpanel" aria-labelledby="pills-member-tab">
                                <ul class="list-unstyled overflow-auto h-100 scroll-bar">
                                  <li class="media">
                                    a
                                  </li>
                                  <li class="media">
                                    b
                                  </li>
                                  <li class="media">
                                    c
                                  </li>
                                  <li class="media">
                                    a
                                  </li>
                                  <li class="media">
                                    b
                                  </li>
                                  <li class="media">
                                    c
                                  </li>
                                  <li class="media">
                                    a
                                  </li>
                                  <li class="media">
                                    b
                                  </li>
                                  <li class="media">
                                    c
                                  </li>
                                  <li class="media">
                                    a
                                  </li>
                                  <li class="media">
                                    b
                                  </li>
                                  <li class="media">
                                    c
                                  </li>
                                  <li class="media">
                                    a
                                  </li>
                                  <li class="media">
                                    b
                                  </li>
                                  <li class="media">
                                    c
                                  </li>
                  <li class="media">
                                    a
                                  </li>
                                  <li class="media">
                                    b
                                  </li>
                                  <li class="media">
                                    c
                                  </li>
                                </ul>
                            </div>
                            <div class="tab-pane fade p-0" id="pills-member" role="tabpanel" aria-labelledby="pills-member-tab">    
                                2
                            </div>
                            <div class="tab-pane fade p-0" id="pills-message" role="tabpanel" aria-labelledby="pills-member-tab">   
                                3
                            </div>

                    </div>
                </div>
            </div>
        </div>
    </body>
</html>

Вывод:

enter image description here

1 голос
/ 30 мая 2020

Используйте CSS, поместите это в пустой тег <style></style> и удалите классы overflow-auto h-100 из ul.

#pills-info {
  height: calc(100vh - 100px);
  overflow-y: scroll
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...