Susy и отзывчивые изображения

я что-то не понимаю с примесью сетки. На самом деле я использую этот код, но работаю только на мобильных устройствах, на рабочем столе контейнер изображений не получает полного размера.

.vue-diapo-hp-img{
     //@include set-container-width();
       img{@include adaptable-img;}
       @include at-breakpoint ($mobile){
          @include set-container-width();
       }
       @include at-breakpoint ($desktop){
         @include set-container-width();
         //@include span-columns($desktop);
       }
       @include at-breakpoint ($tablet){
           @include set-container-width();
       }
}

HTML-код (источник представлений drupal):

<div class="vue-diapo-hp-img">     <img class="imagefield imagefield-field_diapo_home_pano" width="990" height="204" src="http://sandboxd6-1.vmsbx/sites/sandboxd6-1.vmsbx/files/diapo_home/site-date-yyyy/site-date-ww/gabarit-diapo-home-er.jpg?1383819992">  </div>
<div id="transparency"></div>
<div id="contenu-diapo">
<h2></h2></div>

что я могу сделать, чтобы обе точки останова работали? в чем разница между

@include set-container-width(); и @include span-columns($desktop); например?

вы можете увидеть это в действии: http://d6sbx1.pfdev.tk/

спасибо

EDIT1: измененный код после объяснения

.vue-diapo-hp-img{
       clear: both;
       img{@include adaptable-img;}
       @include at-breakpoint ($mobile){
          @include set-container-width();
       }
       @include at-breakpoint ($desktop){
        @include set-container-width();
         //@include span-columns($desktop);
       }
       @include at-breakpoint ($tablet){
          @include set-container-width();
       }
}

это не делает отзывчивое изображение на мобильном телефоне, но дает полную ширину на рабочем столе.


person webmaster pf    schedule 22.11.2013    source источник


Ответы (1)


set-container-width устанавливает значение ширины (или максимальной ширины) на основе общего количества столбцов плюс отступы сетки. span-columns устанавливает ширину элемента внутри этого контейнера — часто относительную ширину, если только вы не установили для $container-style значение static (в данном случае это не так). span-columns также применяет плавающие элементы и поля для выравнивания элементов в сетке. Со статической сеткой и без заполнения сетки они могут возвращать одинаковую ширину, но они созданы для вычисления разных объектов, поэтому в них используется разная логика.

Но мне кажется, что у вас уже есть контейнер, и вы просто хотите охватить всю ширину этого контейнера, и в этом случае вам не нужен ни один из них. Все элементы блока, включая ваше изображение-оболочку, по умолчанию охватывают всю ширину. Если вам нужно очистить поплавок выше, вы можете просто clear: both сделать это. И поскольку вы хотите, чтобы в каждой точке останова также не было причин использовать медиа-запросы:

.vue-diapo-hp-img{
  clear: both;
}

Это должно быть все, что вам нужно. В лучшем случае вы можете добавить width: 100%, если (по какой-то причине) он не занимает всю ширину.

person Miriam Suzanne    schedule 22.11.2013
comment
да, у меня есть глобальный контейнер на #general, но я не понимаю, как я могу сделать адаптивный макет, если я не устанавливаю значения для каждой точки останова, как вы, кажется, говорите... см. edit1 для моего измененного кода. На самом деле это работает в webkit, но не в IE и FF, когда я изменяю размер окна, чтобы он соответствовал мобильному размеру. - person webmaster pf; 25.11.2013
comment
Поскольку вам нужна полная ширина во всех точках останова, и поскольку полная ширина является относительной (поэтому она может сгибаться, чтобы соответствовать любому контейнеру), вам не нужно изменять размер в каждой точке останова. Все точки останова должны просто получать 100% (что является блоком по умолчанию). Код, который вы устанавливаете за пределами любой точки останова, будет использоваться во всех точках останова, поэтому полностью отбросьте эти точки останова и просто позвольте блоку делать то, что по умолчанию. Вы действительно не хотите устанавливать ширину контейнера для внутренних элементов. Этот миксин предназначен только для контейнеров. - person Miriam Suzanne; 25.11.2013
comment
хорошо, я понимаю вашу логику. Мне просто нужно установить размер для родительских элементов, а не для детей, не так ли? но я не понимаю, почему, если я установлю размер только для одной точки останова, это повлияет на все точки останова. - person webmaster pf; 26.11.2013
comment
Могут быть случаи, когда вам нужно установить размер дочерних элементов, но только не в том случае, если они всегда имеют полную ширину. Точно так же установка размера для одной точки останова не всегда может повлиять на другие. Это зависит от того, как настроены ваши точки останова. Вы можете установить точки останова только с минимальной шириной (в этом случае они будут влиять на большие), или только с максимальной шириной, и в этом случае они будут влиять на меньшие, или с обоими, и в этом случае они вообще не повлияют на другие. Но в этом случае , вы можете использовать без точек останова, что повлияет на все. - person Miriam Suzanne; 26.11.2013
comment
хорошо, просто проверьте только ширину изображения: 100%, и, похоже, это правило применяется только для подключенного пользователя на drupal 6 !! с самого начала это дополняет мое изучение susy.. :( - person webmaster pf; 28.11.2013
comment
можно ли использовать это: @include set-container-width($desktop/2); с чем-то вроде @include set-container-width($desktop/2.15); ? - person webmaster pf; 28.11.2013
comment
я понимаю это: ПРЕДУПРЕЖДЕНИЕ: Susy лучше всего работает с целыми столбцами. Для неполных столбцов вам может потребоваться усовершенствовать математику вручную, используя функции напрямую. в строке 61 /var/lib/gems/1.8/gems/susy-1.0.9/sass/susy/_functions.scss как насчет использования десятичного числа для разделения контейнера? - person webmaster pf; 02.12.2013
comment
Почему вы все еще пытаетесь использовать set-container-width? Я действительно не понимаю, что вы делаете, или какое отношение Drupal 6 имеет к CSS. Мне жаль. - person Miriam Suzanne; 17.12.2013
comment
извините, поскольку я понимаю, для чего предназначен set-container-width, построить мою сетку действительно проще. Мой вопрос был о возможности делать математику в миксине с переменными в susy. - person webmaster pf; 17.12.2013