• Как реализовать выдвижной бар как на этом сайте?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    На чистом CSS это смотрится так JSFiddle

    .small {
     ...   /* здесь спозицинируйте малый банер */
    }
    .big {
       display: none;
    }
    header:hover .big {
        display: block;
        position: absolute;
       ...  /* здесь спозицинируйте и анимируйте большой банер */
    }
    Ответ написан
    Комментировать
  • Как правильно составить регулярное выражение?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    && tset REGEXP '[[:<:]]1[[.plus-sign.]]1[[:>:]]'

    А вообще нужно читать доку MySQL Help
    И попробуй пользоваться Workbench
    Ответ написан
    Комментировать
  • Какой самый правильный способ сделать фиксированный оверлей в safari ios?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    Блоки Fixed видимо идут в потоке - что и тянет за собой выше описанные проблемы.
    Попробуй так JSfiddle, должно помочь.

    html,body {
        position:absolute;
        top:0;bottom:0;
        left:0;right:0;
        overflow:hidden;
    }
    body {
        overflow:auto;
    }
    .modal {
        position:fixed;
        top:0;bottom:0;
        left:0;right:0;
    }


    ДОБАВЛЕНО:
    Если создаешь модальное окно динамично, в модальной форме на любой елемент input добавь autofocus:
    <input id="yourtextbox" ... autofocus />
    Если критично в .js запомни позицию скрола в нужных элементах, при автофокусировке скролы могут уехать куда вздумается. А если модальное есть в документе но спрятано, то в функции показа модального можно добавить:
    function setFocusToTextBox(){
        var textbox = document.getElementById("yourtextbox");
        textbox.focus();
        textbox.scrollIntoView();
    }

    А после закрития модального окна восстанови эти позиции.
    Ответ написан
    6 комментариев
  • Как сделать скролл только той колонки которая под курсором?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    Всегда прокручивается именно тот блок, что под курсором. Мож у тебя драйвер мыши со своей "китайской" логикой.

    Смотри пример: JSFiddle
    В третьем блоке хитрая аномалия. Где скрол спрятан за размеры блока. Скрол уже кончился а блок всё ещё прокручивается.
    Ответ написан
  • Как делать разметку страницы, position или float?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    Попытаюсь объяснить своими словами.

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

    Смотим пример: JSFiddle

    • float не отделяет блок от потока, смещает в край и минимизирует резервированное пространство для блока и применяет размеры. "Дети" остаются в старом потоке (Float child имеет ширину и начало координат от прародителя). Float удобен для набора блоков в стаки - так как край берется с учетом резервированных пространств, и флоат блоки не перекрываются. aside - можно(но не всегда) делать через ;
    • relative блок не отделяется от родительского потока, а только корректирует свою координату и применяет размеры, пространство выделенное для блока остается. "Дети" получают новый внутренний поток. Используй для корректировки позиции блока. Создавай новые потоки для детей, без изменений для самого блока;
    • absolute используется чтобы явно создать в родительском потоке, новый поток равный родительскому - с началом координат родительского. Пространство в родительском потоке не выделяется. "Дети" получают новый внутренний поток. В основном используется для всяких "дополняшек" привязаных к блоку. aside в большинстве случаев делаются им.;
    • fixed используется чтобы создать независимый поток который позиционируется относительно окна. Fixed удобно делать header видимый всегда при прокрутке страницы.;

    Все остальное это - Static.

    Подобьем итог
    header, footer - static или fixed (в редких случаях absolute);
    content - принято оставлять statiс. Пусть контент лежит в основном потоке;
    aside - absolute или на крайняк float;
    Всякие изыски modal, action (типа хрестика на закрытие модального) - absolute;

    P.S. Но как всегда есть исключения и нужно думать своей головой. Или если мозг не настроен думать пользоваться шаблонами.
    P.P.S. Ксати есть flex - штука очень хорошая для тех кто думает своей головой. Ибо енто мутант со тремя головами и двенадцатью глазищами... ;)
    Ответ написан
    Комментировать
  • Какую программу выбрать для дизайна/моделирования помещений? 3ds Max, Google SketchUp, Blender или что-то другое?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    Как на меня, то для учебы лучше использовать SketchUp, он самый простой с точки зрения освоения. И он имеет и продвигает фичи настоящих CADов которые приучат к акуратности и точности в моделировании. Человек поломавший себя 3дМаксом в плане "лепить как лепится" очень долго будет не понимать основ.

    Так что!
    Основными являются не программы, а навыки моделирования. Изучение сложных програм - начинайте тогда когда будете понимать, ЧТО нужно и для ЧЕГО нужно (в какой последовательности делать). А вот КАК это уже вопрос второстепенный. Понимая это, вам будет пофиг в какой программе делать - хоть как в допотопном CADе руками команды в консоль писать.

    В первую очередь прокачайте навык моделирования.
    Ответ написан
    Комментировать
  • Как организовать правильное вертикальное выравнивание div'ов?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    Вот статья про Bootstrap и 3 колонки одинаковой высоты.
    Но лично мене не нравится такое решение.

    Вот решение в 3 правила адаптивное по ширине и высоте .

    <main>
        <div>
            <p>Span</p><p>Span</p><p>Span</p><p>Span</p><p>Span</p>
        </div>
        <div>
            <p>Span</p><p>Span</p><p>Span</p>
        </div>
        <div>
            <p>Span</p><p>SpanSpanSpanSpan</p><p>Span</p><p>Span</p><p>Span</p><p>Span</p><p>Span</p><p>Span</p><p>Span</p>
        </div>
    </main>

    main {
        position:relative;     /* должно быть отлично от static */
        overflow:hidden;
    }
    div {
        vertical-align:top;
        position:relative;
        display:inline-block;
        z-index:1;             /* заменить на background:gray; если плохо использовать z-index */
    }
    div:after {
        content:'';
        position:absolute;
        left:0;right:0;
        bottom:-1000%;      /* здесь максимально возможная разница между блоками в процентах (здесь х10)*/
        top:0;z-index:-1;      /* заменить top на top:100%; если нужно забрать z-index */
        background:gray;
    }
    Ответ написан
    Комментировать
  • Каким образом обращаться к элементам массива JavaScript?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    var user = { "name": "Вася", "age": 35, "isAdmin": false, "friends": [0,1,2,3] };
    var friends = [{ "thelocation" : "москва", "":""},{ "thelocation" : "london", "":""}];
        friends[0].thelocation //moskwa
        friends[1]['thelocation'] //london
    Ответ написан
    Комментировать
  • Как при любому скролле скрыть класс?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    Насколько я понял из приведенного задания, нам надо выполнить две задачи:
    1. Убрать Header если был активирован якорь;
    2. Если крутнули колесо или двинули скролл показать хеадер;
    3. Бонусная фишка: по прошествию 3сек времени после (2) пункта автоматически запустить (1)
    (function(){
      var self= this;
      self.onHideHeader = function() {
        $('#header').addClass('hidden');  //(1)
      };
      self.onShowHeader = function() {
        $('#header').removeClass('hidden');    //(2)
        setTimeout(self.onHideHeader,3000);  //(3)
      };
      $(window).on({'hashchange':this.onHideHeader,'scroll':this.onShowHeader});
    })();


    ДОПОЛНЕНО:
    https://jsfiddle.net/s3qcLws7/
    P.S. Тебе помощь нужна или исполнитель?
    Ответ написан
  • Как менять заливку и/или контур svg в CSS при условии, что *.svg в фоне?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
    
    <svg viewBox="0 0 15 169" xmlns:xlink="http://www.w3.org/1999/xlink">
            <symbol id="shape">
    	     <polygon points="3,84 7,76 4,84 7,92 "/>
            </symbol>
            <polygon points="3,84 7,76 4,84 7,92 "/>
    
            <symbol id="shapeRed">
                      <use xlink:href="#shape" fill="red"/>
            </symbol>
    
            <symbol id="shapeGreen">
                      <use xlink:href="#shape" fill="green"/>
            </symbol>        
    </svg>


    в CSS файл подключать

    .arrow {background:url(icon.svg#shapeGreen);}
    .arrow:hover {background:url(icon.svg#shapeRed);}


    И через яваскрипт менять svg, на закодированный в base64 xlink на symbol:
    atb = document.styleSheets[__найти номер стайлшита__].cssRules[__найти номер привила__].style.backgroundImage;
    atb = atb.replace('url(,','').replace(/\)$/,'');
    atb = window.btoa('<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd"><svg viewBox="0 0 15 169"      version="1.1"      xmlns="http://www.w3.org/2000/svg"     xmlns:xlink="http://www.w3.org/1999/xlink">	<use xlink:href='+abt+'/></svg>');
    document.styleSheets[__номер стайлшита__].cssRules[__номер привила__].style.backgroundImage = atb;
    Ответ написан
    Комментировать
  • Как перенести регулярное выражение из PHP в JavaScript?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    Онлайн тестировщик регулярных выражений

    Водишь выражение и данные получаешь полную расшифровку. Можно переключаться между разными функциями из PHP и JS.

    А в твоем случае: [^ (<br \/>)]\s*\n
    И это будет работать в обоих языках.
    Ответ написан
    2 комментария
  • Как запретить переход по href в теге a?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    $( function(){
      $('body').on('click','a[ui-sref]',function(e){          /* прехватываем событие и делигируем его для всех (существующих и/или еще не созданых a[ui-sref])*/
         if (this['ng-click']) {      /* проверяем ваше условие */
             /* сделайте все чо вам нужно */
             e.preventDefault();    /* Здесь запретим обрабатывать события броузеру */
         } else return;    /* иначе ссылка сработает */
       });
    });
    Ответ написан
    Комментировать
  • Стайлгайд SASS, получается не красиво, что я делаю не так?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    "Красивые стили" получаются только руками в чистом CSS.
    От вложености в вашем случае только хуже.
    Посмотрите на CSS в браузере после обработки - там настоящий жестяный УЖОС... Там куча длинных селеторов которые бы вы руками писать не стали.

    section.bullets table tr td.date span.title {    /* должен быть селектор .bullets .date .title */
      font-size: 12px;
      text-transform: uppercase;
      color: #777;
      font-weight: normal;
      display: block;
    }
    section.bullets table tr td.date span {      /* как максимум .bullets .date span */
      font-family: gotham;
      font-size: 16px;
      color: #777;
      font-weight: 600;
      display: block;
    }
    section.bullets table tr td.fav {      /* максимум селектор .bullets .fav */
      padding-right: 40px;
    }
    section.bullets table tr td.fav a.btn {        /* .bullets .fav .btn */
      text-decoration: none;
      padding-top: 8px;
      -webkit-transition: all 250ms ease;
      -o-transition: all 250ms ease;
      transition: all 250ms ease;
    }
    section.bullets table tr td.fav a.btn:hover {    /* .bullets .fav .btn:hover */
      color: #5824dc;
      border-color: #5824dc;
      -webkit-transition: all 250ms ease;
      -o-transition: all 250ms ease;
      transition: all 250ms ease;
    }


    Хотите красиво - пишите на чистом CSS.
    Хотите быстро писать - пишите на SASS
    Но в общем случее ЭТО будет и не так!!! Нужно чётко понимать что будет после разворачивания.
    Ответ написан
  • Как заставить работать flex-wrap на Default Android Browser?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    Вроде есть частичное решение для Android и старых Лис:

    white-space: {nowrap | normal - вместо wrap};

    Не будет работать опция wrap-reverse (но она и не нужна в наших реалиях).
    Ответ написан
  • Можно ли сделать полупрозрачную границу у слоя?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    В общем случае ставят цвет фона из body в цвет тени.

    Если так непулучается (по различным причинам), то есть несколько вариантов:
    - нужно заранее делать картинку с полупрозрачными краями;
    - воспользоваться canvas для генерации такой картинки;
    - воспользоваться серверным скриптом;
    - наложить маску ( !не кросбраузерно ).

    ДОПОЛНЕНО:
    Коментарий натолкнул меня на мысль написать JS делающий это красиво:

    function feather(mask) {
         $('img.feather').each( function(){
              var src = this.attr('src');
                    mask = mask || this.data('mask') || 'http://dragon.deparadox.com/img/wual.png';
              src = 'url(data:image/svg+xml;base64,'+btoa(
    '<svg width="400" height="300" baseProfile="full" version="1.2">'+
    '        <defs>'+
    '            <mask id="svgmask2" maskUnits="userSpaceOnUse" maskContentUnits="userSpaceOnUse"'+ 'transform="scale(1)">'+
    '                <image width="100%" height="300" xlink:href="'+mask+'" />'+
    '            </mask>'+
    '        </defs>'+
    '        <image id="the-mask" mask="url(#svgmask2)" width="100%" height="300" y="0" x="0" xlink:href="'+src+'" />'+
    '    </svg>')+')';
              this.attr('src',src);
         });
    }
    Ответ написан
    Комментировать
  • Как правильно реализовать masonry на чистом CSS?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    Попробуй так изменить разметку:
    ...
          /* Добавим data-header="M" к .masonry-item*/
         <div class="col-lg-3 col-md-3 col-sm-3 col-xl-12 masonry-item" data-header="M">
              /* <li class="header">M</li>  Убрать из разметки*/ 
              ...
         </div>
         ...

    В своем стиле сделать псевдо елемент :before :
    .masonry-item[data-header]:before {
                   content: attr(data-header);
                   display: block;
                   font-weight:bold;
              }

    Как вариант можно скинуть data-header в первый li (не в li c класом header - его быть не должно), и поменять селектор на .masonry-item li[data-header]:before

    P.S. В вопросе ставь код, а не скриншоты. Набирать наново лениво.
    Ответ написан
    2 комментария
  • Как рассчитать скорость скролла окна браузера?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    (function(item) {
          var mem_scroll_top=0,
                coof_scroll = 1.2; /* больше 1 быстрее, меньше 1 медленнее */
           onMyScroll = function () {
                  var sTop = ($(item).scrollTop() - mem_scroll) * coof_scroll;
                        $(item).scrollTop(mem_scroll=sTop);
                  
           }
           $(item).on('scroll',onMyScroll);
    })('.paralax');
    Ответ написан
    Комментировать
  • Какое написание class/id селекторов более правильное?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    По-моему "как правильно" некоректно задан вопрос.
    В первую очередь правльно нужно построить архитектуру CSS.

    Пример:
    - визульное представление, функциональное, динамическое пишутся в разных стилях;
    - добавляются в виде class = "visual1 animation2 do3";
    - а в общем стиле нужно написать .visual1.animation2.do3 {};
    - это заложено в основу CSS, и работает быстрее чем туча стилей с разными названиями для каждого блока.
    Ответ написан
    Комментировать
  • Как вывести только три элемента из цикла?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    //...  Ошибка здесь у вас -> только 1 результат
      WHERE pid = "'.$rowS['id'].'" AND vis = 1 ORDER BY RAND() LIMIT 1'    // <- limit 3 будет правильно
     //...
      $i = 0; //...это можно убрать оно лишнее
    //...
      while ($rowQ = mysql_fetch_assoc($q) ) 
    //...
      $i ++; //.. это можно убрать для красоты кода
    //...
      if ($i > 3) break; // ... убрать для красоты кода
    Ответ написан
    Комментировать
  • Добавление в шапку выбраной категории?

    PretorDH
    @PretorDH
    HTML5, CSS3, PHP, JS - люблю в чистом виде.
    Для решения твоей задачи воспользуемся селектором :target и событием onhashchange...

    <div class="btn-group">
      <button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-expanded="false">
        Action <span class="caret"></span>
      </button>
      <ul class="dropdown-menu" role="menu">
        <li title="Action" id="action" ><a href="#action">Action</a></li>
        <li title="Another action" id="aaction"><a href="#aaction">Another action</a></li>
        <li title="Something else here" id="some"><a href="#some">Something else here</a></li>
        <li class="divider"></li>
        <li title="Separated link" id="separ"><a href="#separ">Separated link</a></li>
      </ul>
    </div>
    
    <script>
    window.onhashchange = function(e){ 
    	        var secure = '; secure';
    /* имя поля куки */
    	        var name = 'menu';
    /* ложим пункт меню в шапку сайта */
    	        document.title  = document.getElementById(window.location.hash.substring(1)).title; 
    /* ложим пункт меню в куки сайта */
    	        document.cookie = [   name, '=', encodeURIComponent(document.title), secure].join('');
    });
    </script>
    
    <style>
    /* CSS */
     li[id]:target {
        /* здесь позиционируеш блок li в шапке меню */
    }
    </style>
    Ответ написан
    Комментировать