Ответы пользователя по тегу HTML
  • Как скрыть блок DIV при уменьшении ширины родительского блока?

    eruditecat
    @eruditecat
    Красноглазик
    Если ширина родительского блока изменяется дискретно, то каждое дискретное значение должно задаваться своим классом. Тогда можно будет сделать так:
    .mixplat__relative_compact .mixplat__operators {
      display: none;
    }
    Ответ написан
    Комментировать
  • Как реализовать БЭМ блоки для jade (pug), stylus?

    eruditecat
    @eruditecat
    Красноглазик
    Я столкнулся с тем же вопросом, касаемо Jade (ныне Pug). Пришлось писать свою библиотеку. Недавно выложил на Гитхаб, подключайтесь к разработке. https://github.com/bigslycat/pbem
    Ответ написан
    3 комментария
  • Нужно ли мне подключать шрифты через font-face если я установлю шрифты на свой vps?

    eruditecat
    @eruditecat
    Красноглазик
    Не важно, где лежат шрифты — они отобразятся лишь в том случае, если нужный шрифт установлен на клиенте, или они подключены через @font-face. Браузер обработает это примерно так:
    1. Опа, а у меня нет такого шрифта.
    2. Где же мне его взять?..
    3. О, вот — в @font-face указано, где он лежит.
    4. Загружаю.

    На самом деле последовательность немного другая — здесь показана логика на человеческом языке. Вам бы разобраться с пониманием основ, уделите внимание этому.
    Ответ написан
    Комментировать
  • Как сделать что бы меню фиксировалось более плавно?

    eruditecat
    @eruditecat
    Красноглазик
    Объявляем в CSS класс sticky:
    .menu {
      background-color: blue;
      width: 10%;
      height: 600px;
      
      position: absolute; /* а transition нам не нужен */
    }
    
    .menu.sticky {
      top: 0;
      position: fixed;
    }

    JavaScript:
    $(document).ready(function() {
      var menu = $('.menu');
    	var menuPosition = menu.offset().top;
      
      $(window).scroll(function () {
    		if ($(window).scrollTop() > menuPosition){
    			menu.addClass('sticky');
    		} else {
    			menu.removeClass('sticky');
    		}
    	});
    });


    Всё работает.
    Ответ написан
  • Как семантически правильно уложить тег address и копирайт внутри footer?

    eruditecat
    @eruditecat Автор вопроса
    Красноглазик
    Спасибо за внимание к моему вопросу. Разобрался. Решение придётся показать в контексте упрощённого общего шаблона. Возможно, это поможет кому-нибудь в построении своей структуры документа.

    <header class="header">
      <!-- Название сайта -->
      {% if page.layout == 'page' %}
      <p class="title">Вася Пупкин</p>
      {% elsif page.layout == 'intro' %}
      <h1 class="title">Вася Пупкин</h1>
      {% endif %}
    
      <p class="description">Кто такой Вася</p>
    </header>
    
    <main>
      <!-- Название страницы -->
      {% if page.layout == 'page' %}
      <h1 class="title">Заголовок страницы</h1>
      {% elsif page.layout == 'intro' %}
      <h2 class="title">Портфолио</h2>
      {% endif %}
    
      {{ content }}
    </main>
    
    <footer class="footer">
      <div class="contacts">
        {% if page.layout == 'page' %}
        <h1 class="title">Вася Пупкин</h1>
        {% elsif page.layout == 'intro' %}
        <h2 class="title">Контакты</h2>
        {% endif %}
    
        <!-- Кстати да, в <address> нельзя помещать заголовки и секционные элементы -->
        <address>
          <ul>...</ul>
        </address>
      </div>
      <div class="copy">
        <h1 class="title">Авторские права</h1>
        <p>&copy; Вася Пупкин</p>
        <p>И ещё чьи-то права</p>
      </div>
    </footer>

    Тогда при page.layout == 'page' W3C валидатор генерирует следующий outline:

    - Заголовок страницы (h1)
        - Раздел1 (h2)
            - Подраздел1 (h3)
            - Подраздел2 (h3)
        - Раздел2 (h2)
    - Вася Пупкин (h1)
    - Авторские права (h1)

    А если page.layout == 'intro', то:

    - Вася Пупкин (h1)
        - Портфолио (h2)
            - Раздел1 (h3)
            - Раздел2 (h3)
        - Контакты (h2)
    - Авторские права (h1)


    Для Сергей Сунцев:
    А по поводу злоупотребления <section> уже писали на Хабре, и в данном случае я думаю, что <footer> внутри <section> — это взаимоисключающие вещи. И, более того, тэг <section> априори подразумевает вложенность. То есть контент внутри него не может быть верхнего уровня. Даже валидатор напрягается по поводу присутствия <h1> внутри <section>, а в outline отображает такой заголовок как вложенный.
    Ответ написан
    1 комментарий
  • Как отправить данные в MySQL с помощью PHP?

    eruditecat
    @eruditecat
    Красноглазик
    Сервер MySQL возвращает интерпретатору сообщение об ошибке — разберитесь, как его вывести. Используйте возможности PDO. Изучите, оно того стоит.

    Помимо всего прочего,
    if(isset($_POST['submit']))        // у Вас по данному условию выполняется только
       $address = $_POST['address'];   // это
    
    // А вот всё следующее выполняется В ЛЮБОМ СЛУЧАЕ:
    
    $IP = $_POST['IP'];
    $sql = 'INSERT INTO table(address, IP, Login, TV, Terminal, monitoring) '
        . 'VALUES("'.$address.'", "'.$IP.'", "'.$IP.'", "'.$IP.'", "'.$IP.'", "'.$IP.'")';
    
    // проверка
    if(!mysql_query($sql)) {
        echo '<center><p><b>Ошибка при добавлении данных!</b></p></center>';
    } else {
        echo '<center><p><b>Данные добавлены!</b></p></center>';
    }
    Ответ написан
    Комментировать
  • Почему в семантичной верстке html порядок тегов table thead, tfoot, tbody?

    eruditecat
    @eruditecat
    Красноглазик
    Семантика здесь не при чём. Сначала загружаются верхние и нижние заголовки таблицы, а потом уже — между ними её тело.
    Ответ написан
    Комментировать