なぜこれが起こっているのか正確にはわかりませんが
クラス要素は、
DIV
水平方向のビューではなく、単一の垂直方向のビューでブラウザに出力されます。
そのため:i.imgur.com/olChE92.png
CSSが正しく、水平方向のビューが表示されていることは知っていますが、新しいサイトを作成しています。このため、左側のサイドバーの位置を「固定」にし、背景を一番下までスクロールし、上部のメニューのみを「固定」にします。コンテンツをスクロールするには、実際のファイルマネージャフィールドを残します。
そのため:i.imgur.com/DKqZp2s.jpg
また、コンテンツはjQuery AJAXJSONを介してDIVIDに挿入され、JSONデータからjQueryはファイルデータをDIVクラスに構築し、それらすべてをページ1に出力します。
また、完全なHTML + CSS + JQUERYを備えたJSFiddleもあります:jsfiddle.net/HgsVh/2/
いずれにせよ、ここにFile.cssのコードがあります。これは、事前定義されたDIVIDに出力されたファイルの実際の方法を担当します。
.product {
width: 200px;
float: left;
margin: 10px;
border: 1px #dedede solid;
padding: 5px;
background-image: url(images/corner.jpg);
background-position: bottom right;
background-repeat: no-repeat;
border-radius: 6px;
box-shadow: 0px 1px 1px rgba(0, 0, 0, 0.5);
}
.product:hover {
background-color: #87c6f1;
/* #fae7af */
background-image: none;
border: 1px #cdcdcd solid;
box-shadow: 0px 0px 12px #87c6f1, 0px 1px 1px rgba(0, 0, 0, 0.5);
cursor: pointer;
}
.product .title {
margin-bottom: 12px;
margin-top: 12px;
height: 22px;
width: 200px;
word-wrap: break-word;
text-align: center;
font-size: 14px;
font-weight: 700;
text-shadow: 0px 1px 0px #fff;
overflow: hidden;
border-bottom: 1px dotted #cdcdcd;
}
.product img {
margin-right: 10px;
border: 1px solid #dedede;
border-radius: 5px;
}
.setting {
width: 48px;
height: 48px;
background-image: url(http://cdn1.iconfinder.com/data/icons/onebit/PNG/preferences.png);
display: block;
position: absolute;
z-index: 2;
float: right;
margin-left: 250px;
}
.like {
width: 48px;
height: 48px;
background-image: url(http://cdn2.iconfinder.com/data/icons/onebit/PNG/onebit_46.png);
display: block;
position: absolute;
z-index: 2;
float: right;
margin-left: 250px;
}
.like:hover {
background-image: url(http://cdn2.iconfinder.com/data/icons/onebit/PNG/onebit_44.png);
}
.product .description {
font-weight: 400;
font-size: 14px;
font-family: Geneva, Arial, Helvetica, sans-serif;
}
これが、出力されているメインページのStyle.cssです。
body {
background: #ffffff;
overflow-y: scroll;
overflow-x: hidden;
}
#content {
width: 100%;
}
#content>#menu {
padding: 2px 10px;
display: block;
background: #ffffff;
box-shadow: 0px 12px 12px rgba(255, 255, 255, 0.6), 0px 0px 1px rgba(0, 0, 0, 0.2);
position: fixed;
top: 0px;
left: 200px;
right: 0px;
z-index: 3;
}
#filemanager {
background-attachment: scroll;
background-clip: border-box;
background-color: rgb(255, 255, 255);
background-image: none;
background-origin: padding-box;
background-position: 0% 0%;
background-repeat: repeat;
background-size: auto;
margin-bottom: 0px;
margin-right: 0px;
margin-left: 200px;
margin-top: 60px;
padding: 0;
box-shadow: 0px 0px 1px rgba(0, 0, 0, 0.2) inset;
}
#sidemenu {
background: #191818;
bottom: 0px;
left: 0px;
position: fixed;
border-right: 10px solid #eee;
text-shadow: 0px 1px 0px rgba(0, 0, 0, 0.4);
top: 0px;
width: 190px;
z-index: 3;
display: block;
}
そして、これがコードの最後の部分です。index.phpのjQueryスニペットは、JSONコールバックから取得したデータを#filemanagerに注入する役割を果たします-#filemanagerDIV内にあるajaxDIV
$(document).ready(function() {
$.getJSON('file.php?path=<?php echo $_GET['path']; ?>&callback=?', function (data) {
$("#filemanager-ajax").html('');
$.each(data, function (i, item) {
$("#filemanager-ajax").fadeIn(4000);
$("#filemanager-ajax").append('<a class="link" href="' + item.id + '"><div class="product" data="' + item.path + '"><img src="' + item.thumb + '" title="' + item.thumb + '" class="thumbnail"/><div class="title">' + item.name + '</div><div class="description"></div> <strong>Filesize:</strong> ' + item.size + '<div style="clear:both;height:8px;"></div> about ' + item.date + ' ago<div style="clear:both;height:8px;"></div></div><div class="clear"></div></div></a>');
});
});
});
これが本当にすべてです。File.cssが単一のフルページ要素に出力される場合は正常に機能しますが、側面に要素が少ない場合は機能しません。これは、DIVを説明するワイヤーフレームの図であり、正確にわからない場合の意味と、.productクラスの要素がどのように出力されているかの画像です。
ワイヤーフレーム図:http: //i.imgur.com/DKqZp2s.jpg .product出力:http: //i.imgur.com/olChE92.png
よろしくお願いします。たくさんのコードをお詫びします。