我正在构建一个必须在“小”屏幕(1024 * 768)或更高分辨率屏幕上工作的应用程序。
我在应用程序中有一个页面,其中包含两列中的一些项目。但是在“小”屏幕上,项目的宽度太大而无法保持良好的布局,因此我希望将列数减少到一个。这些列使用<ul>
构建,其中包含<li>
float:left
属性(这实际上是一个jQuery Sortable插件输出)。
我对页面的行为是允许用户在“源”列表和“目标”列表之间拖放项目以便选择项目(这是有效的,如果可以帮助,我可以粘贴代码)。
要解决此问题,我尝试设置媒体查询。
在我的css文件中,我有:
.sourceItems, .targetItems {
list-style-type: none;
float: left;
margin: 0;
padding: 0;
margin-right: 10px;
background: #eee;
padding: 5px;
border: solid 1px black;
height: 400px;
overflow: auto;
}
.sourceItems {
width: 530px;
}
.targetItems {
width: 280px;
}
.sourceItems li, .targetItems li {
border: solid 1px black;
float: left;
margin: 4px;
padding: 4px;
width: 220px;
min-height: 10px;
cursor: move;
background-image: url('/_layouts/images/personresult.gif') !important;
background-repeat: no-repeat !important;
padding-left: 20px;
background-color: #DFEFFC;
background-position: left center !important;
}
.sourceItems li.user, .targetItems li.user {
}
.sourceItems li.entity, .targetItems li.entity {
background-position: left center;
border: solid 1px black;
float: left;
margin: 4px;
padding: 4px;
width: 200px;
background-image: url('/_layouts/images/peopletitle.png') !important;
font-size: 1.1em;
height: 50px;
cursor: move;
padding-left: 40px;
background-color: #CCFF99;
background-repeat: no-repeat !important;
vertical-align: middle;
}
@media screen and (max-width: 1024) {
.sourceItems {
width: 200px;
}
.targetItems {
width: 200px;
}
.sourceItems li, .targetItems li {
margin: 2px;
padding: 2px;
width: 180px;
min-height: 10px;
background-image: url('/_layouts/images/personresult.gif') !important;
-moz-background-size: 50%;
-o-background-size: 50%;
-webkit-background-size: 50%;
background-size: 50%;
background-repeat: no-repeat !important;
padding-left: 10px;
font-size: 1.1em;
}
.sourceItems li.user, .targetItems li.user {
}
.sourceItems li.entity, .targetItems li.entity {
-moz-background-size: 50%;
-o-background-size: 50%;
-webkit-background-size: 50%;
background-size: 50%;
margin: 2px;
padding: 2px;
width: 180px;
background-image: url('/_layouts/images/peopletitle.png') !important;
font-size: 1.1em;
height: 30px;
padding-left: 20px;
}
}
但是,当页面加载(元素总是两列大)时,这没有区别。
不知道它是否可以提供帮助,但这里是DOM的转储(来自IE开发人员工具):
<UL class="sourceItems droptrue ui-sortable" jQuery172019945692622544986="151">
<LI class="ui-state-default entity" jQuery172019945692622544986="75">some item 1</LI>
<LI class="ui-state-default entity" jQuery172019945692622544986="76">some item 2</LI>
<LI class="ui-state-default entity" jQuery172019945692622544986="77">some item 3</LI>
<LI class="ui-state-default entity" jQuery172019945692622544986="78">some item 4</LI>
<LI class="ui-state-default entity" jQuery172019945692622544986="79">some item 5</LI>
<LI class="ui-state-default entity" jQuery172019945692622544986="80">some item 6</LI>
<LI class="ui-state-default entity" jQuery172019945692622544986="81">some item 7</LI>
<LI class="ui-state-default entity" jQuery172019945692622544986="82">some item 8</LI>
</UL>
<UL class="targetItems droptrue ui-sortable" jQuery172024919617247411335="152"></UL>
以下是带有“大屏幕”的输出的屏幕截图:
以下是带有“小屏幕”输出的屏幕截图:
以下是“小屏幕”上所需输出的屏幕截图(使用IE开发工具调整dom以生成屏幕截图:
我很感激任何有助于解决此问题的帮助。