Jump to content

Sensei

Expert
  • Posts

    561
  • Joined

  • Last visited

  • Days Won

    26

Posts posted by Sensei

  1. Это не баг.

    По спеке, я так понимаю, есть такое понятие как Canvas, область, на которой происходит рендеринг.

    Этот холст имеет размеры области просмотра и берет фон у элемента HTML.

    А элемент  HTML, если у него не задан фон, берет его у элемента BODY.

    Вот и получается, что фон на весь экран.

  2. По спецификации алгоритм такой

    - преобразовываем выражение к значению Boolean
    - если результат равен true возвращаем false
    - возвращаем true


    Можно представить в виде функции

    var not = function(expr) {  expr = !!expr;    if (expr === true) return false;    return true;  };not(1 > 2);   // truenot(1 < 2);   // false
  3. Если у элемента позиционирование отличное от static и задан z-index, формируется новый контекст наложения, в котором этот элемент будет корневым.
    Контекст, как стакан, дном которого служит корневой элемент, а все дочерние элементы располагаются внутри этого стакана в определенном порядке.
    Элементы даже с отрицательным z-index не могут быть расположены за корневым элементом, и лежат на самом дне стакана.

    В общем, нужно убрать у ссылок z-index

    ul a {   z-index: auto;}
    • Like 1
  4. А так?

    function layers_box_open(o) {  var item = $(o),      _id = item.attr('data-layersLink-key');      if (_id) {	      var target = $('.js-layers_key-' + _id + ' .layers_box'),          top = item.offset().top - $(".js-layers_wrap").offset().top,          shift = target.outerHeight() / 2 - item.outerHeight() / 2;            $('.layers_box_wrap', '.js-layers_key-' + _id).css({        'visibility':'visible',        'top' : top + 'px',        'margin-top': '-' + shift + 'px'      });        }}
  5. Попробуйте так

    function layers_box_open(o) {  var _id = $(o).attr('data-layersLink-key');      if (_id) {	      var target = $('.js-layers_key-' + _id + ' .layers_box'),          top = ($("[data-layersLink-key='"+_id+"']").offset().top - $(".js-layers_wrap").offset().top),          shift = target.outerHeight() / 2 - o.outerHeight() / 2;            $('.layers_box_wrap', '.js-layers_key-' + _id).css({        'visibility':'visible',        'top' : top + 'px',        'margin-top': '-' + shift + 'px'      });        }}

    А вообще, если есть возможность менять разметку, лучше перенести тултипы внутрь самих пунктов.

    Код заметно упростится, нужно будет только отрицательный верхний отступ скриптом выставлять.

    А если не нужен ие8, то вообще одними стилями можно будет обойтись.

  6. Точку с запятой уберите из условия цикла.

     

    Увеличиваете индекс до обращения к массиву.

    Соответственно, элемент с индексом ноль выведен не будет.

    • Like 1
  7. В статье «display: inline;» описывается как альтернатива «float» в случае, когда высота элементов может быть разной.

    Воспринимайте эту часть статьи как примечание.

  8. В вашем случае указание свойства «display» не имеет никакого смысла.

    Если у элемента задано «float», то он становится блочным, даже если вы явно указываете другое.

     

    В общем, уберите «float», и элементы станут строчными.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. See more about our Guidelines and Privacy Policy