我有一排五个图形,上面有文字。在移动视图中,我希望设置一个媒体查询,这样五个图形就会变成一个带有文本的下拉列表。例如,图像1表示“个人能力”,图像2表示“引导更改”等。在移动视图中,我希望图形消失,下拉列表有“个人能力”、“领导更改”等选项。
我的HTML:
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" rel="stylesheet" />
<div class="row" style="margin:1%">
<div class="col-xs-1">
</div>
<!--end col-sm-1-->
<div class="col-xs-2">
<a href="#">
<img src="http://placehold.it/150x150" class="img-responsive" title="Personal Capability" style="border:0">
</a>
</div>
<!--end col-sm-2-->
<div class="col-xs-2">
<a href="#">
<img src="http://placehold.it/150x150" class="img-responsive" title="Leading Change" style="border:0">
</a>
</div>
<!--end col-sm-2-->
<div class="col-xs-2">
<a href="#">
<img src="http://placehold.it/150x150" class="img-responsive" title="Character" style="border:0">
</a>
</div>
<!--end col-sm-2-->
<div class="col-xs-2">
<a href="#">
<img src="http://placehold.it/150x150" class="img-responsive" title="Interpersonal Skills" style="border:0">
</a>
</div>
<!--end col-sm-2-->
<div class="col-xs-2">
<a href="#">
<img src="http://placehold.it/150x150" class="img-responsive" title="Focus on Results" style="border:0">
</a>
</div>
<!--end col-sm-2-->
<div class="col-xs-1">
</div>
<!--end col-sm-1-->
</div>
<!--end row-->
发布于 2016-07-15 21:07:04
引导程序提供响应实用程序。有些类可以根据屏幕隐藏或显示某些内容。
如果我理解您的问题,您只想在移动设备上显示一些东西,在其他设备上显示其他东西。
引导程序为您提供了一些东西,可见的和隐藏的类。
在这个JSFiddle中,您可以找到这些类的一个示例:https://jsfiddle.net/valentinho14/9f4b53yw/
此外,请不要只使用空块来推送内容,例如:
<div class="col-xs-1"></div>如果您选择使用为此创建的类(偏移量),情况会更好:
<div class="col-xs-2 col-xs-offset-1">
Your content
</div>要获得更多关于这方面的信息,请查看官方的引导文件:http://getbootstrap.com/css/#responsive-utilities
发布于 2016-07-19 15:51:53
您可以这样做,这样您就不必使用重复的内容。它只是使用媒体查询在某个断点上构建一行图像/图形,然后在下拉显示时隐藏这些图像/图形。
下拉列表只是一个标准的按钮下拉。在本例中,使用媒体查询@ min:768 max显示图像,使用@ max-:767 max显示下拉列表。您只需更改dropdown-menu内部的规则(因为它最终只是一个列表)来反映您需要的输出,这是一列图像,如果取决于有多少图像或在其他地方重复使用不同数量的图像,则可以扩展这些图像。
Basic CSS更改
.btn-group-transform .dropdown-menu {
position: relative;
display: table;
width: 100%;
min-width: 100%;
margin: 0 auto;
padding: 0;
background: transparent;
border: none;
box-shadow: none;
border-radius: 0;
text-align: center;
}
/*Default 6 Images but the % can be changed to accomodate or use/make a helper class*/
.btn-group-transform .dropdown-menu > li {
display: inline-table;
/*Adjust the below value based on the number of list items*/
width: 16.666667%;
float: none;
/*Adjust the below value to add or remove space between list items*/
padding: 2.5px;
}示例1;打开FullPage并减少浏览器窗口
/*Body rules are for DEMO ONLY*/
body {
padding-top: 2.5px;
}
/*Body rules are for DEMO ONLY*/
@media (min-width: 768px) {
.btn-group-transform {
position: relative;
width: 100%;
}
.btn-group-transform .dropdown-menu {
position: relative;
display: table;
width: 100%;
min-width: 100%;
margin: 0 auto;
padding: 0;
background: transparent;
border: none;
box-shadow: none;
border-radius: 0;
text-align: center;
}
/*Default 6 Images but the % can be changed to accomodate or use.make a helper class*/
.btn-group-transform .dropdown-menu > li {
display: inline-table;
/*Adjust the below value based on the number of list items*/
width: 16.666667%;
float: none;
/*Adjust the below value to add or remove space between list items*/
padding: 2.5px;
}
/*If you want to extend this for a different number of images use these helpers or add new ones*/
/*5 Images*/
.btn-group-transform .dropdown-menu > li.list-5 {
width: 20%;
}
/*4 Images*/
.btn-group-transform .dropdown-menu > li.list-4 {
width: 25%;
}
/*If you want to extend this for a different number of images use the above helpers or add new ones*/
.btn-group-transform .dropdown-menu > li > a {
background: none;
transition: all 300ms linear;
padding: 0;
}
.btn-group-transform .dropdown-menu > li > a > img {
max-width: 100%;
height: auto;
margin: auto;
}
.btn-group-transform .dropdown-menu > li > a:hover {
opacity: 0.5;
}
.btn-group-transform button,
.btn-group-transform span {
display: none;
}
}
@media (max-width: 767px) {
/*Body rules are for DEMO ONLY*/
body {
text-align: center;
}
/*Body rules are for DEMO ONLY*/
.btn-group-transform img {
display: none;
}
}<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<div class="btn-group btn-group-transform">
<button type="button" class="btn btn-default dropdown-toggle dropdown-toggle-transform" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Dropdown <span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li>
<a href="#">
<img src="http://placehold.it/1000x1000/F21115/fff?text=ONE"> <span>Personal Capability</span>
</a>
</li>
<li>
<a href="#">
<img src="http://placehold.it/1000x1000/F21115/fff?text=TWO"> <span>Leading Change</span>
</a>
</li>
<li>
<a href="#">
<img src="http://placehold.it/1000x1000/F21115/fff?text=THREE"> <span>Character</span>
</a>
</li>
<li>
<a href="#">
<img src="http://placehold.it/1000x1000/F21115/fff?text=FOUR"> <span>Interpersonal Skills</span>
</a>
</li>
<li>
<a href="#">
<img src="http://placehold.it/1000x1000/F21115/fff?text=FIVE"> <span>Focus on Results</span>
</a>
</li>
<li>
<a href="#">
<img src="http://placehold.it/1000x1000/F21115/fff?text=SIX"> <span>Something Else</span>
</a>
</li>
</ul>
</div>
<div class="btn-group btn-group-transform">
<button type="button" class="btn btn-default dropdown-toggle dropdown-toggle-transform" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Dropdown <span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li class="list-5">
<a href="#">
<img src="http://placehold.it/600x600/000/fff?text=ONE"> <span>Personal Capability</span>
</a>
</li>
<li class="list-5">
<a href="#">
<img src="http://placehold.it/600x600/000/fff?text=TWO"> <span>Leading Change</span>
</a>
</li>
<li class="list-5">
<a href="#">
<img src="http://placehold.it/600x600/000/fff?text=THREE"> <span>Character</span>
</a>
</li>
<li class="list-5">
<a href="#">
<img src="http://placehold.it/600x600/000/fff?text=FOUR"> <span>Interpersonal Skills</span>
</a>
</li>
<li class="list-5">
<a href="#">
<img src="http://placehold.it/600x600/000/fff?text=FIVE"> <span>Focus on Results</span>
</a>
</li>
</ul>
</div>
<div class="btn-group btn-group-transform">
<button type="button" class="btn btn-default dropdown-toggle dropdown-toggle-transform" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Dropdown <span class="caret"></span>
</button>
<ul class="dropdown-menu dropdown-menu-right">
<li class="list-4">
<a href="#">
<img src="http://placehold.it/600x600/176B99/fff?text=ONE"> <span>Personal Capability</span>
</a>
</li>
<li class="list-4">
<a href="#">
<img src="http://placehold.it/600x600/176B99/fff?text=TWO"> <span>Leading Change</span>
</a>
</li>
<li class="list-4">
<a href="#">
<img src="http://placehold.it/600x600/176B99/fff?text=THREE"> <span>Character</span>
</a>
</li>
<li class="list-4">
<a href="#">
<img src="http://placehold.it/600x600/176B99/fff?text=FOUR"> <span>Interpersonal Skills</span>
</a>
</li>
</ul>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
如果要实际使用将显示在菜单中的文本来覆盖图像,请添加以下规则:
.btn-group-transform .dropdown-menu > li > a > span {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
color: white;
font-weight: bold;
letter-spacing: 1.25px;
font-size: 20px;
white-space: pre-wrap;
}示例2:打开FullPage并减少浏览器窗口
/*Body rules are for DEMO ONLY*/
body {
padding-top: 2.5px;
}
/*Body rules are for DEMO ONLY*/
@media (min-width: 768px) {
.btn-group-transform {
position: relative;
width: 100%;
}
.btn-group-transform .dropdown-menu {
position: relative;
display: table;
width: 100%;
min-width: 100%;
margin: 0 auto;
padding: 0;
background: transparent;
border: none;
box-shadow: none;
border-radius: 0;
text-align: center;
}
.btn-group-transform .dropdown-menu > li {
display: inline-table;
width: 20%;
float: none;
padding: 2.5px;
}
.btn-group-transform .dropdown-menu > li > a {
background: none;
transition: all 300ms linear;
padding: 0;
position: relative;
}
.btn-group-transform .dropdown-menu > li > a > img {
max-width: 100%;
height: auto;
margin: auto;
}
.btn-group-transform .dropdown-menu > li > a:hover {
opacity: 0.5;
}
/*Add this rule to use the text inside the dropdown to add a text overlay to the images*/
.btn-group-transform .dropdown-menu > li > a > span {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%, -50%);
color: white;
font-weight: bold;
letter-spacing: 1.25px;
font-size: 20px;
white-space: pre-wrap;
}
.btn-group-transform button {
display: none;
}
}
@media (max-width: 767px) {
/*Body rules are for DEMO ONLY*/
body {
text-align: center;
}
/*Body rules are for DEMO ONLY*/
.btn-group-transform img {
display: none;
}
}<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
<div class="btn-group btn-group-transform">
<button type="button" class="btn btn-default dropdown-toggle dropdown-toggle-transform" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
Dropdown <span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li>
<a href="#">
<img src="http://placehold.it/600x600/05A3F7/05A3F7"> <span>Personal Capability</span>
</a>
</li>
<li>
<a href="#">
<img src="http://placehold.it/600x600/05A3F7/05A3F7"> <span>Leading Change</span>
</a>
</li>
<li>
<a href="#">
<img src="http://placehold.it/600x600/05A3F7/05A3F7"> <span>Character</span>
</a>
</li>
<li>
<a href="#">
<img src="http://placehold.it/600x600/05A3F7/05A3F7"> <span>Interpersonal Skills</span>
</a>
</li>
<li>
<a href="#">
<img src="http://placehold.it/600x600/05A3F7/05A3F7"> <span>Focus on Results</span>
</a>
</li>
</ul>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
https://stackoverflow.com/questions/38404604
复制相似问题