У меня есть сайт Wordpress, который использует тему OrganicThemes - Photographer. Демонстрационный сайт можно посмотреть здесь: http://organicthemes.com/demo/photographer/three-column-portfolio/Центр портфолио Wordpress, в котором используется каменная кладка jquery?
После того как я настроить его на некоторое время, я понял, что портфель три колонки не центрирован в классе 980px .row. Поскольку это использует Wordpress и PHP, когда я проверяю его в Chrome, он выводится в HTML, что затрудняет мне понимание того, как исправить проблему.
Включая скриншот проблемы, с которой я столкнулся. Вы можете видеть в синем поле, что третье изображение (aka <div class="one-third masonry-brick">
) не попадает на отметку 980px <div class="row holder-third masonry">
, что делает второе изображение нецентрированным, что в основном заставляет все это отключиться.
Вы можете найти различную информацию о классе в style.css
и organic-shortcodes.css
, который помогает для понимания .row
и .one-third
классов, но я думаю, что реальная проблема заключается в файле jquery.custom.js
. Я считаю, что основной код в том файле, который волнует проблема заключается в следующем:
/* Masonry ---------------------*/
function masonrySetup() {
$('.holder-third').masonry({
itemSelector : '.one-third',
gutterWidth : 0,
isAnimated: true,
columnWidth : function(containerWidth) {
return containerWidth/3; }
}).imagesLoaded(function() {
$('.holder-third').masonry('reload');
});
Я попытался выяснить, как это исправить, но все, что я мог придумать, как исправить обработанную HTML код, который в основном должен был сделать второе окно изображения на left: 340px;
, а третье окно изображения должно быть в left: 680px;
, что затем сделало бы их центрированными и ровными.
Но я знаю, что это не поможет. Как-то мне нужно исправить код масонства в пользовательском файле jquery и, возможно, изменить некоторые CSS-классы div.
Я надеюсь, что кто-то поможет лучше объяснить проблему и, возможно, пролить свет на то, как исправить эту проблему! Заранее спасибо!
UPDATE: Я добавил некоторые коды стилей CSS в случае, если это более полезно, чтобы найти решение проблемы.
Компоновка вынесенное в инспектировать элемента в Chrome заключается в следующем:
<!-- .container portfolio -->
<div class="container portfolio">
<!-- BEGIN .row -->
<div class="row holder-third masonry" style="position: relative; height: 827px;">
<!-- BEGIN .one-third -->
<div class="one-third masonry-brick" style="position: absolute; left: 0px; top: 0px;">
<!-- BEGIN .one-third -->
<div class="one-third masonry-brick" style="position: absolute; left: 326px; top: 0px;">
<!-- BEGIN .one-third -->
<div class="one-third masonry-brick" style="position: absolute; left: 653px; top: 0px;">
То, что я не понимаю, как это позиционирование работает, когда CSS не говорит абсолютной? И я не вижу никакого класса masonry-brick
где угодно ... откуда это?
container portfolio
CSS:
.container.portfolio {
background: none;
overflow: visible;
box-shadow: none;
-moz-box-shadow: none;
-webkit-box-shadow: none;
}
.container {
background: #FFFFFF;
max-width: 980px;
margin: 0px auto 0px;
}
row
CSS:
.row {
width: 100%;
max-width: 980px;
min-width: 727px;
margin: 0 auto;
}
one-third
CSS:
.container.portfolio .one-third {
max-width: 312px;
margin: 0px;
padding: 0px;
}
* Columns *
.one-third {
width:30.66%;
}
.one-half, .one-third, .two-third, .three-fourth, .one-fourth, .one-fifth {
position: relative;
margin-right: 4%;
float: left;
}
И тогда это код, который, кажется, отношение к проблеме с файл template-portfolio-three.php.
<!-- .container portfolio -->
<div class="container portfolio">
<!-- BEGIN .row -->
<div class="row holder-third">
<?php $wp_query = new WP_Query(array('cat'=>of_get_option('category_portfolio_three'),'posts_per_page'=>of_get_option('postnumber_portfolio_three'),'paged'=>$paged)); ?>
<?php if($wp_query->have_posts()) : while($wp_query->have_posts()) : $wp_query->the_post(); ?>
<?php $meta_box = get_post_custom($post->ID); $video = $meta_box['custom_meta_video'][0]; ?>
<?php global $more; $more = 0; ?>
<!-- BEGIN .one-third -->
<div class="one-third">
<!-- BEGIN .postarea portfolio -->
Я вижу <div class="one-third">
и интересно, если код должен быть добавлен в этой области для того, чтобы исправить мою проблему?
Попробуйте изменить внутри 'jquery.custom.js'' gutterWidth' (попробуйте с целым числом и 'whole_number + px' в кавычках) и/или' columnWidth', теперь он делится на 3 (1/3th от ширины контейнера). – bodi0
@ bodi0 Спасибо, что вернулись. Когда вы сказали изменить 'gutterWidth', попробуйте с целым числом и' whole_number + px' в кавычках, вы имеете в виду вот так? Пример: 'gutterWidth: '1',' или 'gutterWidth: '1px''? И что вы подразумеваете под и/или 'columnWidth'? Вы имеете в виду, что я могу просто пойти 'gutterWidth: 'columnWidth',' и это решит? В очередной раз благодарим за помощь! – user3251361
Yep, 'gutterWidth: '1px'' и/или' gutterWidth: 1', для 'columnWidth' Я имею в виду не использовать функцию для вычисления, как сейчас, а фиксированное (или процентное) значение. – bodi0