Jump to content
  • Sign Up

AlexZaw

Expert
  • Posts

    650
  • Joined

  • Last visited

  • Days Won

    57

Everything posted by AlexZaw

  1. В верстке, в подавляющем большинстве случаев, нет единственно правильных решений. С одной стороны, для того что-бы не раздувать код, нужно делать якорь на тот тег на который отправляет ссылка. Но, с другой стороны, а если завтра этот тег поменяется, например, с параграфа на заголовок? Тогда выходит правильнее сделать пустой якорный тег 🙂
  2. попробуйте почитать здесь: http://qaru.site/questions/2898/cross-domain-iframe-issue/25767349#25767349
  3. а почему он должен что то видеть и кто решил что блок с текстом это "основной" блок? У вас абсолютно позиционированный родитель, а значит он принимает ширину контента. У input type="text" ширина по умолчанию равна 169px, плюс добавляем ширину кнопок по бокам, плюс бордер. Все вместе задает ширину для блока cont, так как является наиболее широким блоком. Ну а див с текстом просто растягивается по этой ширине, так как по умолчанию у дива ширина 100% В случае же замены инпута на див, самым широким становится именно блок с текстом, поэтому cont и становится уже
  4. Вы бы, для начала, рассказали что умеете, а то может вам с азов нужно все рассказывать 🙂
  5. Просто привык к ES5 🙂 Можно без проблем все var заменить на let, ну а const, на мой взгляд, здесь вообще негде использовать.
  6. var render = document.querySelector('[data-action="render"]'); var destroy = document.querySelector('[data-action="destroy"]'); var boxes = document.getElementById("boxes"); render.addEventListener("click", getAmount); destroy.addEventListener("click", destroyBoxes); function getAmount() { var amount = +document.querySelector("#controls input").value; createBoxes(amount); } function createBoxes(amount) { var basicSize = 30; var fragment = document.createDocumentFragment(); for (var i = 0; i < amount; i++) { var size = basicSize + i * 10; var div = document.createElement("div"); div.style.cssText = `width: ${size}px; height: ${size}px; background-color: rgba( ${random()} , ${random()} , ${random()} )`; fragment.appendChild(div); } boxes.appendChild(fragment); } function destroyBoxes() { boxes.innerHTML = ""; } function random() { return Math.floor(Math.random() * 256); }
  7. Может я что-то не так делаю, но у меня, по приведенной ссылке, все работает 🙂 Единственно что страница по ссылке this link недоступна
  8. Повторюсь. В приведенном вами коде все прекрасно работает. Проблема в другом месте. Покажите проблемный код
  9. Покажите код. У вас либо где-то заданы ширины ячеек, либо какая-то из ячеек в другом ряду растягивает остальные.
  10. Две ячейки таблицы, с выравниванием по верху, в левой картинка, в правой текст. Или я что то не понимаю?
  11. Все прекрасно работает, проблема где то в другом месте
  12. С изучения html и css 🙂
  13. Если свойства нет в спецификации, то откуда его возьмет браузер? Даже если в каком то одном из браузеров введут это свойство то смысла его использовать все-равно не будет, так как в остальных оно работать не будет 🙂 Тогда бардак творился, DHTML, разные объектные модели и все дела. У netscape действительно была такая фича. Хотя не факт что она работала. Вот тут https://www.uv.es/jordi/v3/html/dynhtml/dynamic.pdf можно увидеть что float:center; присутствует в коде, но следом написано что элементы можно выровнять с помощью float слева или справа, или с помощью js по центру. Также в книге указаны допустимые значения для float - left, right, none. Так что это скорее всего была запланированная возможность, которая не получила реализации.
  14. Это фейк, достаточно посмотреть документацию чтобы увидеть какие значения может принимать float. Ну и ссылка на имитацию: https://css-tricks.com/float-center/
  15. Вы про Zeplin? Так он тоже 100% точности не дает. Особенно если какой-то "одаренный" дизайнер перетаскивал слова с место на место, ну или просто промахнулся с сеткой. Да и сам фотошоп может написать что вес шрифта 400, хотя на макете четко видно что шрифт жирный/полужирный.
  16. Смотрите letter-spacing, line-height, возможно нужно поиграть с word-spacing. Так же есть вариант того, что дизайнер промахнулся с размерами, и некоторые слова выходят за границы сетки 🙂
  17. https://www.google.ru
  18. @rasmus Тег <p> в семантике означает параграф текста. Чем его использование в форме противоречит семантике? С семантикой input сложнее. Да, изначально они были созданы для использования в формах, но, imho, с развитием веб стоило бы пересмотреть их семантическое значение. Возьмем к примеру распространенный случай. Есть сайты с калькулятором для расчета чего либо. С одной стороны можно завернуть этот калькулятор в форму, хотя бы для того, что-бы сделать кнопку сброса, но, с другой стороны, эта кнопка очень редко когда предусмотрена в дизайне. Да и данные в этом калькуляторе предназначены только для пользователя и не отправляются на сервер, а значит использование <form> будет тоже семантически неверным, ведь форма предназначена для отправки данных, а у нас никакие данные не передаются. Так что не все так однозначно...
  19. Да не за что. Я ведь вас только направил в нужное русло, остальное вы сделали сами 🙂 Ну а со стрелочкой самому интересно повозиться было 🙂
  20. Сильно в код не вникал, но в целом да. Сами видите насколько код меньше и чище получился 🙂
  21. Малость переделал стрелочку, теперь можно обойтись одним псевдоэлементом. А значит у вас из кода можно будет убрать .wrap и кружочки сделать с помощью второго псевдоэлемента для .block По поводу верстки - зачем вы все с помощью абсолютного позиционирования двигаете? Можно флексами обойтись. Код для стрелочки: <div class="box"></div> .box{ height: 100px; width: 200px; background: red; border-radius: 10px; position: relative; } .box:after { content: ''; position: absolute; top: 100%; left: 50%; transform: translateX(-50%) rotateX(180deg); width: 40px; height: 50px; background-image: radial-gradient(at 100% 30%, transparent, transparent 79%, red 80%, red), radial-gradient(at 0% 30%, transparent, transparent 79%, red 80%, red); background-position: 20px; }
  22. Как вариант: <div class="box"> Lorem ipsum dolor sit amet consectetur adipisicing elit. Omnis, velit non ipsa rem dolorum unde fuga repudiandae iusto nesciunt numquam dolores tenetur soluta ad in aut fugit ea tempora ipsum! </div> .box { width: 300px; background: red; border-radius: 10px; padding: 10px; position: relative; } .box:before, .box:after { content: ""; height: 35px; width: 20%; position: absolute; top: 100%; left: 50%; background: radial-gradient( at 25% 100%, transparent, transparent 75%, red 75%, red ); } .box:before { transform: translateX(-100%); } .box:after { transform: rotateY(180deg); }
  23. Я лишь привел пример :) Ну и, если честно, мне reset.css нравится, так как я могу быть 100% уверен что у всех элементов, во всех браузерах, стили будут одинаковыми и мне не придется учитывать особенности того или иного браузера. Если есть лучшие варианты - буду рад ознакомиться.
  24. reset.css, например, тоже сбрасывает margin и padding у всех элементов, но делает это только для тех тегов, у которых они есть. Заказчик, или контент менеджер, или кто там еще будет наполнять сайт, в большинстве случаев вообще не знают такие страшные слова как отступ у параграфа :) Да и в любом случае, для используемых тегов, все эти отступы будут переопределяться в стилях. А плохая практика это потому, что " * " задает стили именно для всех элементов, для каких надо и каких не надо. А потом в отладчике появляются всякие сбивающие с толку паддинги у боди :)
  25. Потому что при адаптации может потребоваться изменить высоту. С помощью height заданного в процентах это легко сделать. При чем высота будет резиновой. А вот с помощью bottom это не получится. Ну и вторая причина - привычка задавать высоту с помощью свойства которое для этого предназначено, а не с помощью чего попало :)
×
×
  • 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