Leaderboard


Popular Content

Showing most liked content since 24.01.2016 in all areas

  1. Тебе бы не курить ту дрянь что ты куришь =)))
    8 likes
  2. Делаем сапёра на движке Phaser. Часть 1: подготовка графики. Вообще говоря любая игра обязана начинаться с тетрадки. Описывая игру в тетрадке вы понимаете чего вы хотите добиться от игры и набрасываете план действий. Все мастодонты инди-игр советуют начинать именно с этого шага и я бы не стал им пренебрегать. С другой стороны когда мы делаем клон игры (особенно такой простой как сапёр), можно смело пропускать "этап тетрадки" и сразу начать придумывать внешний вид. Ведь это гораздо интересней Как я и обещал, я постараюсь описывать создание игры в мельчайших подробностях. Поэтому первым делом расчехляйте свои фотошопы или гимпы. Предупреждаю сразу, что я пользуюсь фотошопом версии CC 2014, так что у кого гимп тем придётся разбираться самим как там всё устроено. Шаг 1. Открываем фотошоп и создаём новый файл, единицы измерения пиксели, размер 640х1136: Почему такой размер? Потому что я решил делать мобильную игру. На своём опыте я выяснил, что самое "безопасное" разрешение для большинства смартфонов - это разрешение iPhone 5. Теперь откройте браузер Google Chrome и откройте средства разработчика (F12 если вы на Windows). Внизу вы увидите иконку смартфона с подсказкой Toggle device mode, после того кк вы кликните на неё экран уменьшится до размеров устройства, которое можно выбрать в выпадающем меню сверху, вам нужно найти в этом меню опцию Apple iPhone 5: Но ведь там 320х568? Да, но рядом вы можете заметить цифру 2, которая означает плотность пикселей выбранного устройтсва. Если бы мы сделали макет размером 320х568, то на телефоне все картинки выглядели бы размытыми. Чтобы добиться чёткости на необходимо создать макет в два раза больше по размерам: 640 (320 * 2) на 1136 (568 * 2). Шаг 2. Я верстальщик, поэтому я всей душой ненавижу абсолютно всех дизайнеров с которыми мне доводилось работать. Всё из-за того, что ни один из тех с кем мне довелось работать за свою десятилетнюю карьеру понятия не имел о сетках (а тем более о модульных сетках). Давайте не будем уподобляться плохим дизайнерам и сделаем всё красиво. Если вы хотите подробней узнать о том, что такое сетки (grids), то посмотрите эту презентацию. Я начинал своё знакомство с сетками именно с неё. Как выясняется, многие не знают, что такое модульные сетки (modular grids), и путают их с обычными сетками. Это разные вещи. Совсем недавно я нашел великолепную статью о модульных сетках. Так же могу порекомендовать вам замечательный конструктор модульных сеток. Сразу хочу сказать, что модульные сетки лучше всего подходят для мобильных сайтов и приложений. Мы с вами не будем углубляться в дебри проектирования интерфейсов, однако мы почерпнём одну очень важную для нашего проекта деталь из гайдлайнов самого гугла. А именно минимальный размер модуля - 8 пикселей. Оказывается, что разрешение которое мы выбрали (640х1136) идеально делится на 8 (что по ширине, что по высоте). Поэтому откройте в фотошопе ваш файл и зайдите в настройки сетки: в верхнем меню выберите Edit > Preferences > Guides, Grids & Slices... Затем, в меню сверху выберите View > Show > Grid (или нажмите CTRL+' если у вас Windows), теперь ваш документ будет выглядеть так: Теперь вам надо найти центр вашего макета. Наврядли кто-то из сдесь присутсвующих макеты делает, но если что, то я рекомендую это делать всегда. Для этого вам надо убедиться что у вас включено отображение линеек (rulers, это те которые сверху и справа у окна макета). Выберите в меню сверху View > Rulers (или просто нажмите CTRL+R если вы на Windows). Убедитесь, что единицы измерения у вас выставлены как пиксели (по умолчанию там сантиметры вроде), для этого кликните правой кнопкой мышки по любой линейке и выберите в выпадающем меню пиксели. Затем убедитесь, что у вас включена привязка (snap), для этого в вехнем меню выберите View > Snap To > Document Bounds. После всех настроек можете смело начинать находить центр макета. Для этого кликните левой кнопкой мыши по верхней линейке и, не отпуская кнопки, потяните мышку вниз. У вас должен появиться "гайдлайн": Если вы будете тянуть его достаточно медленно, то увидите как он "прилипнет" к середине макета (сработала привязка). Проделайте ту же операцию с левой линейкой. Ваш докумен теперь должен выглядеть так: Самое главное в сапёре - клетки. В тех же гайдлайнах гугла сказано, что идеальный размер иконки на смартфоне 48х48 пикселей. Почему, спросите вы? Гугл объясняет это очень просто - такую площадь занимает пятно контакта указательного пальца у среднестатистического пользователя. "Умно!", - подумал я когда впервые об этом прочитал. Так почему бы и нам не сделать размер клетки 48х48? Создайте новый слой, выбрав в верхнем меню Layer > New > Layer..., или просто кликнув по иконке на палитре слоёв: Затем переименуйте новый слой в "Helper Cells". Далее выберите инструметн прямоугольного выделения (Rectangular Marquee Tool - шорткат M). Чтобы выделение получилось квадратным, а не прямоугольным, зажмите Shift перед тем как тянуть. Выделите в любом месте экрана прямоугольник размером 48х48 пикселей. Если у вас до сих пор активен инструмент прямоугольного выделения, то вы сможете перетаскивать выделение. Перетащите его в центр макета. В форошопе CC 2014 гайдлайны при этом должны стать фиолетовыми (так вы поймёте, что попали в центр). После этого залейте выделение любым цветом (я залил чёрным): После этого я начал экспериментировать с количеством клеток. Экспериментальным путём я выяснил, что красиво получается если добавить ещё по 4 клетки справа и слева. Но только не вплотную, а с отступом в один модуль (мы помним, что размер модуля у нас минимален - 8px). Абсолютно через такие же эксперименты, я надобавлял клеток сверху и снизу: Вот и готово наше игровое поле Нужно убегать домой. Продолжение следует (после праздников). Надеюсь я вас заинтриговал. Для ленивых.
    5 likes
  3. Замыкания - это очень просто. Посмотрите на такую функцию: function myFunction(a, { var sum = a + b; return sum;}На самом деле внутри у неё, скрытно от вас, создался невидимый объект, в котором хранится переменная sum. Т.е. для интерпретатора (в нашем случае интерпретатор - это браузер) функция выглядит вот так: function myFunction(a, { invisibleObject.sum = a + b; return invisibleObject.sum;}После того как функция отработала вступает в дело "сборщик мусора", который освобождает память на компе, которую занял этот самый invisibleObject, чтобы у вас браузер и вообще винда не тормозили. Так вот, замыкание - это когда сборщик мусора этот самый invisibleObject не удаляет. Классический пример: var counter;function myFunction() { var start = 0; counter = function() { return start++; };}myFunction(); // вызываем функцию, чтобы инициализировать переменную counter// далее юзаем уже countercounter(); // 0counter(); // 1counter(); // 2 и т.д.Браузер не дурак и видит, что переменная start может ещё понадобится в будущем, так как она используется внутри counter, поэтому он этот самый infisibleObject после того как мы вызвали myFunction не удаляет. Это и называется замыкание. tl;dr Замыкание - это когда невидимый объект, в котором функция хранит локальные переменные не удаляется после того как функция отработает. P.S. Кстати, этим "невидимым объектом" был Альберт Эйнштейн LexicalEnvironment.
    5 likes
  4. 5 likes
  5. За всё время что ты мучаешься с JS, так и не понял что такое делегирование. Писать даже такие простые вещи, не понимая фундаментальных основ у тебя не получиться. Мой тебе совет, установи JQuey и избавь себя от этих страданий. Эта прекрасная библиотека позволит тебе быстро и легко делать подобные штуки особо не разбираясь в том как работает JS. ЗЫ С оценкой, которую сам себе поставил полностью согласен. http://joxi.ru/52ayLwMC3RP920
    4 likes
  6. Есть, имхо, еще одна серьезная проблема — определиться с направлением, куда совершенствоваться дальше, когда количество новой информации зашкаливает. Особенно когда со всех сторон крутые спецы холиворят, принижая любимые инструменты и подходы друг друга, и даже основополагающая спека — HTML5.x/ЖHTML — существует в двух противоречащих друг другу вариантах, сторонники каждого из которых обвиняют другой лагерь в ереси:). Да, можно перепробовать всё самому и сделать выбор лично — но за это время всё перепробованное успеет уйти в историю, на его место придут новые модные штуки, и в итоге ученик рискует навечно застрять в фазе ознакомления, так и не став крутым профи хотя бы в чем-то одном из перепробованного. Вот тут, имхо, может быть очень полезно некоторое время побыть ведомым в связке с крутым мастером чего угодно — чтобы успеть перенять «маленькие хитрости», секреты продуктивности именно этого инструмента/подхода и т.п., в ускоренном режиме и с минимумом шишек пройти «краткий курс ознакомления с типичными граблями» этого подхода, и т.д. В общем, сократить период полной растерянности и выходить из зоны комфорта постепенно, не оказываясь в зоне паники. На мой взгляд, на этом этапе грамотный авторитет рядом, у которого можно что-то подсмотреть и перенять, готовый ответить на вопрос, в т.ч. дурацкий (причем посылом не абстрактно в гугл, а в конкретный раздел документации, либо встречным наводящим вопросом, помогающим самому ухватить логику), и вообще обсудить технические вопросы с высоты практического опыта — ресурс абсолютно незаменимый (и огромное везение).
    4 likes
  7. Теперь то мы знаем, что форум родился 1-го апреля. Посему разрешите поздравить всех причастных, администрацию и вообще всех кому небезразличен этот маленький заповедник верстальщиков. Па-здра-вля-ю! Смешные картинки про верстку приветствуются!
    4 likes
  8. box-shadow сам просится https://jsfiddle.net/z91cw96f/4/
    4 likes
  9. Адаптивная вёрстка 80-го уровня.
    4 likes
  10. 4 likes
  11. Это как-то унизительно. Можно брать один такой заказ в месяц на фрилансе, живя с мамкой.
    3 likes
  12. Причем в любом месте может быть не любой <meta>, а только несущий атрибуты метаданных. И только в WHATWG-версии, потому что из W3C HTML5.1 эти несчастные метаданные выпилили. А конкретно viewport — кстати, до сих пор не стандартизированный! — ввели как <meta> именно потому, что эта информация должна во что бы то ни стало быть в <head> (до начала какой-либо отрисовки), а элемент <meta> — по сути единственное, что можно добавить в %3Chead%3E, не закрыв его неявно. Так что <meta viewport> должен быть в <head>, и браузеры всё правильно делают!
    3 likes
  13. Надеюсь, моя писанина будет кому нибудь интересна 1. Учусь на 3 курсе МГУ факультета вычислительной математики и кибернетики. Свободное время уделяю веб разработке. 2. Постоянно читаю статьи в интернете - учеба обязывает. Хотя последняя статья, которую я прочитал называлась что то вроде 3. Перешел из закладок. 4. Опубликован этот пост был на сайте замечательного человека Миши Рудрастых. 5. Профессиональная. Но для меня это было просто развлечением, способом "убить" свободное время. 6. Минут 20-30. Останавливался на некоторых пунктах, перечитывал их по нескольку раз, чтобы полностью понять тот или иной момент. 7. Вряд ли полезной, скорее - интересной. 8. Со смартфона. Последнее время все делаю со смартфона, ноутбук использую только для работы и набора большого количества букв. 9. Последнее время стараюсь как можно меньше читать блоги и новости - очень много времени на это уходит. Учеба с каждым годом занимает все больше и больше сил и свободного времени и похоже не собирается останавливаться, ненасытная зараза:). 10. Чаще дневное, часто читаю ночью или при искусственном освещении. 11. Постоянно пытаюсь узнавать новую информацию, а статьи - отличный способ это сделать. Хотя последнее время найти действительно уникальные и полезные заметки бывает трудно. 12. На самом деле мне легче учиться по видео, информация легче воспринимается, на мой взгляд. Но это не путь джедая.:) Сначала читаю статью, а если что-нибудь совсем непонятно или не получается, смотрю этот кусочек на видео. 13. Да, есть парочку ресурсов, связанных с веб разработкой. Блоги, несколько форумов. Обычно каждое утро за завтраком проверяю обновления на сайтах из панели закладок (их не так уж и много). Обращаю свое внимание прежде всего на свежие публикации. Хотя бывает, что перечитываю старые и не раз. Некоторые статьи знаю почти наизусть. 14. Чаще всего обращаю внимание на заголовок и миниатюру. Анонс, как мне кажется, вообще лишнее на сайте. Из него все равно ничего непонятно, гораздо быстрее развернуть полную статью и прочитать ее. 15. От темы зависит, наверное. Но обычно не смотрю. 16. Конечно кликну. Я по природе очень любопытный мальчик :). Бывает даже тема не интересна, но заголовок зацепил, поэтому открываю сайт и смотрю подробности. 17. В такому случае всегда оставляю комментарий к статье, благодарю автора. 15 секунд занимает, а человеку приятно. Если до этого на сайте не был, начинаю просматривать другие статьи, а потом добавляю в избранное, если считаю нужным. 18. Очень сильно раздражают принудительно всплывающие окна с рекламой курсов и прочей фигней. Прям бесит. 19. За последние 3 года ни разу не менял размер шрифта в большую или меньшую сторону. Слава богу, что сайта с размеров основного текста 10px уже ушли в прошлое, хотя иногда и можно встретить. 20. Да, бывает. Вообще непредсказуемое поведение предсказуемых элементов - это самая бесячая х*рня в мире, как сказал знакомый дизайнер. Соглашусь, особенно вымораживает, когда автор все ссылки заменяет на текст с подчеркиванием, при этом запрещая клик правой кнопкой мыши. Чтобы никто не украл его "драгоценный" контент, который я найду на следующем же сайте в выдаче гугла. 21. Обычно нет. Только, если после прочтения статьи остались вопросы. 22. Когда ищу конкретную информацию, то сначала пробегаюсь по заголовкам, цитатам, выделенным словам и так далее. Если не нахожу того, что искал, начинаю читать статью более скрупулезно. 23. Нет, почти никогда не "шарю" текстовый контент в соц сети. Если статья хорошая, то лучше потратить это время на благодарность ее автору. 24. Если уж и надо поделиться статьей, то использую кнопки соц сетей. Если таковых нет, значит не судьба 25. Да, буду стараться читать все больше и больше. Это может быть связано с устройством на реальную работу, где количество непонятной или неизвестной информации будет просто зашкаливать, я уверен. Фуух, наши пальчики устали :). Если серьезно, Максим, спасибо за интересный опрос. Некоторые пункты реально заставили задуматься и кое что в себе изменить. Надеюсь, моя писанина будет кому нибудь интересна
    3 likes
  14. Попробуйте в файле .htaccess в корне сайта добавить такую строку: AddType application/octet-stream .pdf Это насильно заставит браузер скачивать файлы pdf, а не открывать их.
    3 likes
  15. 3 likes
  16. Как всегда, вопрос в терминологии:). Для меня наставник — как раз тот, кто наставляет (на путь истинный:), неважно, словом или примером. А тот, кто полностью имеет контроль и не дает сделать шаг туда-сюда — это, наверное... начальник (притом фиговатый:).
    3 likes
  17. Пока устройство раздупляется, что за такое max-height:1000000px подсунули, забывает испоганить шрифты.
    3 likes
  18. 3 likes
  19. 3 likes
  20. правильно заданый вопрос содержит в себе большую часть ответа Как ты мог заметить, почти все отвечающие предлагают тебе модифицировать исходный код, к которому с твоих слов у тебя нет доступа. Странно это. Ваш сайт, ваш сервер и нет доступа... Ну да ладно. На закуску могу предложить еще пару костылей (вместо того, чтобы писать правильный код) http://api.jquery.com/ajaxSuccess/ http://api.jquery.com/ajaxcomplete/ И чем больше подобных костелей, вы ребята, будете тыкать в свои сайты, тем хуже им будет становиться =) Поэтому и существует профессия фронт-энд разработчик. Или хотя бы веб-разработчик, который знает что такое хорошо и что такое плохо))
    3 likes
  21. ребята, отбой. уже сам исправил: приятно поговорить с умным человеком)
    3 likes
  22. Привет всем В честь Instance Forum Day (доступ к событию для авторизованных пользователей групп "Неофит" и выше), который будет проводится 1-го апреля, мы решили напечатать футболки с тематическим принтом. Ниже я описываю step-by-step как получить футболку или принт. Как получить футболку с принтом в Киеве Все желающие получить футболку в Киеве, 1 апреля, на встрече: Открываете сайт futbolka.ua Выбираете бренд, размер и цвет Высылаете ссылку на страницу с футболкой @klierik'у в ЛС или по одноименному скайпу, указав данные с п.2., а так же пол Получаете футболку на встрече Как получить принт/футболку on-line/доставкой С доставкой по Украине Открываете сайт futbolka.ua Выбираете бренд, размер и цвет Высылаете ссылку на страницу с футболкой @klierik'у в ЛС или по одноименному скайпу, указав данные с п.2., а так же пол Получаете футболку в ближайшем отделении "Новая Почта" (доставка за счет получателя) В любой точке мира Открывает любой online-магазин с футболками и услугами печати на них Выбираете бренд, размер и цвет Скачиваете принт-файл (будет прикреплен к этому сообщению 2-го апреля) Высылаете файл в выбранный вами магазин и забираете футболку после печати Принт и его печать — бесплатно (Киев), футболка за счет заказчика. Я скопом заказываю на всех футболки, оплата при встрече или на карту ПБ. Содержимое принта Непосредственно сам принт будет предъявлен в день события на мероприятии. Ожидается что он будет содержать лого форума, название форума, и тематическую композицию ко дню события С уважением, команда htmlforum.ru
    3 likes
  23. 3 likes
  24. Шаг 3. Теперь добавим цвета. Я не стал ничего изобретать, а просто зашел в поиск по картинкам гугла и вбил запрос "minesweeper number colors", первая же картинка мне идеально подошла. Открываем её в фотошопе и вырезаем клетку. Для этого выберите инструмент прямоугольного выделения (M), выделите клетку (ширина и высота выделения у меня получились 128х128) и скопируйте выделение (CTRL+C если у вас винда). Затем переключитесь назад на наш макет и вставьте скопированное (CTRL+V). Теперь макет должен выглядеть так: Очевидно, что клетка слишком большая, нам нужно её уменьшить. Для этого нажмите CTRL+T или выберите в меню Edit > Transform > Scale. Чтобы при уменьшении не потерялся пиксельный стиль клетки, в меню трансформации в выпадающем меню интерполяции выберите режим Nearest Neighbor. Уменьшите клетку до размера 56х56 пикселей и перетащите её в верхний левый угол нашего поля. Такой размер я выбрал потому, что в сапёре всё-таки нет зазоров между клетками и я тоже решил их не делать. После всех этих операций надобавляйте оставшихся клеток, копируя получившуюся, слейте полученные слои (Layer > Merge Down или CTRL+E) и переименуйте слой с клетками в "Cells": Теперь вернёмся к документу с картинкой из гугла и вырешем иконки флажка и цифр. Для этого воспользуемся инструментом Magic Wand (волшебная палочка - W). В настройках палочки снимите галку с чекбокса Anti-alias и установисе галку в чекбокс Contiguous: Иконки флажка и мины - двухцветные, поэтому кликать палочкой на них нужно зажав Shift, чтобы добавлять выделение к уже существующему. Выделите флажок и вырежте его на наше игровое поле (так же как клетку). После этого уменьшите его (CTRL+T). Чтобы сохранить пропорции нужно включить опцию Maintain aspect ratio. Я уменьшил иконку до сорока процентов от первоначального размера. Переместите иконку в левый верхний угол игрового поля. И проделайте всё тоже самое для остальных иконок. Теперь наш документ выглядит так: Ссылка на макет.
    3 likes
  25. Обратите внимание, какое сейчас год, и не верстайте под IE7 и IE8, а потратьте это время на изучение чего то нового.
    3 likes
  26. Всем привет! Сегодня опубликовали третью часть Золотой рыбки Grid Layout, нашего очередного погружения в мир этого удивительного модуля. Для тех, кто следит за новостями, это не должно быть сюрпризом, а те, кто ещё не в курсе, настоятельно рекомендуем ознакомиться с темой Но на самом деле вопрос вот в чём. Порой слышу вещи вроде "Нафига мне ваши гриды, мне флексов хватает выше крыши" или "Какие ещё гриды? Флексы лучше в разы" и т.д. И действительно, хотелось бы узнать у народа, какие преимущества у флексов перед гридами и наоборот? И, вообще, ждёте ли вы эту раскладку? Поделитесь пожалуйста своими мыслями. У меня есть своё мнение на этот счёт, но пока я не буду его озвучивать, ибо для начала интересно послушать мнение разработчиков
    3 likes
  27. Лайк тебе за старания =) Твой код выдает тебя. Он просто кричит, что у тебя мало практики) План таков: 1. Сейчас дожимаешь свой "объектный" калькулятор 2. После чего я покажу, как достаточно просто его визуализировать без лишних плясок с бубном --- Далее все по п.1: 1.1 Чем очевидней твой код, тем его проще читать. Вместо (''+val).matchрекомендую String(val).matchНе надо самому себе создавать доп. трудности1.2 static isOperation(val) { return (''+val).match(/^[\+\-\*\/]$/) !== null; }вместо см. match мой пример выше с REGEXP.test()1.3 вместо (+val)лучше писать Number(val)1.4 вместо let fn = new Function('return '+str+';'),см. мой пример выше со string templates1.5 рекурсия на ровном месте непонятно зачем add(val) { if(Array.isArray(val)) { val.forEach((value) => this.add(value));сам себе сложности создаешьесли хочешь валидировать массив actions, лучше отдельную функцию создать я последовательность не валидировал. на мой взгляд это лишнее) 1.6 // Предотвращает ошибку в случае если последний элемент это знак, удаляя еговсе равно try catсh нужен. Понятно почему? чтобы сделать свойство приватным. Когда ты описываешь класс, подразумевается, что он инкапсулирован в модуль что еще за "функция в ней"? =)Далее по п.2 Набросал на скорую руку очень упрощенно и приближенно https://jsfiddle.net/gLgo2s2d/2/
    3 likes
  28. new Calculator({actions: '2 + 2 * 2'})не понятно, зачем указывать объект {actions: '2 + 2 * 2'}который содержит строку, которая должна быть разбита пробелами, чтобы потом разбирать эту строку по пробелам, вместо того, чтобы просто указать {new Calculator([2, '+', 2, '*', 2]) throw new Error("Должно быть число или операция, а не: "+val);на английском static getOperations() { return { '+': {priority: 1,func: (a, => a + b}, '-': {priority: 2,func: (a, => a - b}, '*': {priority: 3,func: (a, => a * b}, '/': {priority: 4,func: (a, => a / b} }; }каждый раз создаешь и возвращаешь объект. Зачем? static checkOperation(val) { return Calculator.getOperations()[val] !== undefined; }не так проверяется наличие/отсутствие в объекте ключадолжно проверяться либо hasOwnProperty либо key in object (в зависимости от ситуации) из-за того, что используешь parseFloat, твой калькулятор позволяет писать '2_ololo + 1' // 3мне кажется это не то поведение, которое ожидается от калькуляторапохоже на хард код if(isOperation && Calculator.checkOperation(actions[actions.length-1])) { // Если последнее и новое действие это операция то заменяем старое новым actions[actions.length-1] = val; } else if (!isOperation || (isOperation && actions.length > 0)) { if(!isOperation && Calculator.checkNumber(actions[actions.length-1])) { actions.push('+'); // (!) ТУТ } actions.push(val); } }Сделай еще проще:1. на входе проверяешь регулярками 2. чтобы получить результат, делаешь так var fn = new Function('return 2 + 2 * 2;');console.log(fn());
    3 likes
  29. Очень профессиональная верстка. 5-ти страниц. Поддержка: IE7+, Chrome (15+), Firefox (15+), Opera (12+), Safari (5+) в 2016 году! Создание кода в двух версиях. Оптимизация загрузки страниц. Оптимизация графики. Настройка механизма загрузки компонентов. js/css3 - Анимации Отзывчивый дизайн. Имитация с уродованием контента во имя великого SEO. Заполнение метатегов и тайтлов какими-то данными, о которых не будет ни малейшего понятия на этапе разработки верстки. Поддержка рекомендаций (ориентиров) от человека из Харькова, которого, наверное, знаете только вы. На этапе подачи объявления не предоставлен даже скриншот макета будущего проекта. За все это предлагают $25-$50.... Пожалуй, ваше предложение не интересно. От слова абсолютно.
    3 likes
  30. Накидал на скорую руку, не особо красиво, но вроде работает, как надо https://jsfiddle.net/BrusSENS/o5jvvknw/4/ UPD: изначально я написал про то, как сделать, если фон однотонный, для картинок, как видите, другой подход.
    2 likes
  31. Подозреваю, что файл у вас не в UTF без BOM или в начале файла есть пробел например
    2 likes
  32. http://jsbin.com/xijetilogi/edit?html,css,output Ключевые моменты - float:right для сайдбара, сам сайдбар в HTML коде должен идти перед блоком с карточками товара, а сами карточки должны быть строчно-блочными элементами (display: linline-block)
    2 likes
  33. 2 likes
  34. Все норм. Решил через foreach($xmlres->categories->category as $category) { $big_arr[] = $category->id; } $big_arr = array_chunk($big_arr, 40);
    2 likes
  35. По описанию похоже на эту проблему. Должно помочь body { -webkit-text-size-adjust: none; }. Но, думаю, лучше всё-таки поставить meta viewport с width=device-width и предусмотреть адаптивность)
    2 likes
  36. Зачем идти верстальщиком если вы "очень долго практиковали на С++"? Программист на плюсах зарабатывает гораздо больше верстальщика. Я бы, как минимум, на джуниора по плюсам пошел на вашем месте (даже если первое время по деньгам меньше будет). Очень странный выбор короче.
    2 likes
  37. Я бы посоветовал зайти на php.net в эти же самые разделы документации и просто почитать описания функций, чтобы иметь представление, что он умеет, а что не умеет. Совсем пропускать нехорошо, потому что это чуть ли не половина знаний языка. Что ж тогда изучать?
    2 likes
  38. Похоже, пример взят из какого-то очень архаичного руководства, чуть ли не от PHP3 (а сегодня актуален PHP7). Лучше держаться от таких музейных экспонатов подальше. Для старта стоит смотреть как минимум сюда.
    2 likes
  39. Прошу - https://css-tricks.com/snippets/css/media-queries-for-standard-devices/
    2 likes
  40. 2 likes
  41. Для меня так: 1. внешние стили 2. внутренние стили 3. инлайновые стили но есть такое мнение http://htmlbook.ru/content/dobavlenie-css
    2 likes
  42. Правильнее было бы создать классы в CSS, которые уже сами по себе абстракция. И писать свои методы для манипуляции ими не нужно.
    2 likes
  43. Во-первых, я бы отсортировал статусы от самого сырого к самому зрелому: по последней версии процесса W3C это цепочка (FPWD -) WD - CR - PR - Rec. Лично для меня «Черновик (Draft)» — это просто неофициальный, «разговорный» синоним для WD. Официально такого статуса, насколько мне известно, нет. Бывают неофициальные «Proposals» и официальные FPWD, но FPWD — тоже WD, возможно, для обзорной статьи даже нет смысла выделять его отдельно. Раньше еще был LCWD (последняя стадия WD перед CR), но в 2014 году его отменили. А ED — это отражение текущей работы над спекой, независимо от текущего статуса, аналог trunc в системе контроля версий, где правятся текущие баги и т.п. Так что это еще и самая актуальная версия спецификации. Время от времени с этого ED делаются «снимки» (snapshots), которые и публикуются в разделе TR как очередной WD, очередная CR и т.д. (либо как Note, если развитие спецификации прекращено). Но по большому счету эти «снимки» очень быстро теряют актуальность относительно текущей работы (ED). Они ценны в основном для истории и для юристов, проверяющих спецификации на патентную чистоту перед утверждением. А разработчики браузеров и тестов ориентируются именно на ED. Недавно был вообще забавный случай, когда браузеры обновили свою реализацию (убрали поддержку grid-template, которую CSSWG на совещании в рабочем чате решила убрать из CSS Grid) даже раньше, чем редакторы обновили соответствующий ED. Что уж говорить о «снимках»...
    2 likes
  44. По мне легче картинкой, но можно и поизврощатся, накидал на скорую руку http://codepen.io/anon/pen/dMdNqG, правда криво))
    2 likes
  45. Я очень часто замечаю, что многие фукают на БЭМ, но по сути используют его принципы в какой-либо интерпретации. БЭМ не умер и никуда не денется, даже после появления CSS Modules с его неймспейсами. Он позволяет писать css стили модульно и в этом его преимущество, особенно для внедрения в различные стеки по типу Angular 2 или React based архитектуры. Особенно учитывая, что все двигается в сторону компонентов, то ему заведомо приказано долго жить.
    2 likes
  46. да я оперативно справился) Да отключили, потому что многих бесило, что их лепили без видимой причины. Или после каких-то ярых споров, обиженный проходился по постам и лепил везде минусы где мог дотянуться. Да и просто часто все сводилось к тому, что ставили минус, вместо того чтобы высказать свою точку зрения. Правда обычно там точки зрения и не было, просто ставили минус и все.
    2 likes
  47. синтаксис конкатенации в php отличается от js, не '+ переменная +' а " '.$переменная.' "
    2 likes
  48. начнем с того, что для "вау" 20 000 руб. очень мало, нет, не очень мало, а оооооочень мало! для "вау" нужно около 100 000 руб. а 20 000 - это опять будет кака, либо вынос мозга, при чем обоюдный...
    2 likes
  49. $('li').each(function () { if ($('img', this).length < 1) { $(this).remove(); } });
    2 likes
  50. 2 likes


  • Ближайшие события

    Предстоящих событий не найдено
  • Записи блога

  • Сообщения форума

    • Компания ProHoster предлагает Вашему вниманию выделенные сервера по очень выгодным ценам, расположенные в Украине, подключенные к каналу 100Mb/s, с возможностью подключения канала до 1Gb/s. Также по желанию клиента на каждый сервер можем бесплатно установить панель VestaCP. Выделенные сервера для белых проектов.  Тарифный план MYCON03
      2x Intel E5430 Quad-Core Xeon 2.66 GHz
      Memory ......................16GB
      HDD............................2TB
      Цена:.........................41$ Тарифный план MYCON05
      2x Intel L5420 Quad-Core Xeon 2.5 GHz
      Memory ......................16GB
      HDD............................2TB
      Цена:.........................41$ Тарифный план MYCON06
      2x Intel L5335 Quad-Core Xeon 2.0 GHz
      Memory ......................20GB
      HDD............................750GB
      Цена:.........................41$ * Данные цены действуют на первый месяц аренды сервера. Последующие месяцы аренды 70$. Дополнительный IP-адрес - 2$ шт.
      Пакет IPv4 сеть /24 - 100$ в месяц.
      Стоимость подключения канала 1Gb/s составляет 100$. Выделенные сервера для серых проектов. Тарифный план MYBS01
      2x Intel L5520 Quad-Core Xeon 2.26 GHz
      Memory .............24GB
      HDD............................2TB
      Цена:.........................70$ Тарифный план MYBS02
      2x Intel L5420 Quad-Core Xeon 2.5 GHz
      Memory .............16GB
      HDD............................1x750GB + 1x2TB
      Цена:.........................70$ Тарифный план MYBS03
      2x Quad-Core Xeon E5430 2.66GHz
      Memory .............16GB
      HDD............................2TB
      Цена..........................70$ Тарифный план MYBS04
      2x Intel L5335 Quad-Core Xeon 2.0 GHz
      Memory .............20GB
      HDD............................1x750GB + 1x2TB
      Цена:.........................70$ Тарифный план MYBS05
      2x Intel L5420 Quad-Core Xeon 2.5 GHz
      Memory .............16GB
      HDD............................750GB
      Цена:.........................70$ Тарифный план MYBS06
      2x Intel L5335 Quad-Core Xeon 2.0 GHz
      Memory .............20GB
      HDD............................750GB
      Цена:.........................70$ Тарифный план MYBS07
      2x Intel L5420 Quad-Core Xeon 2.5 GHz
      Memory .............24GB
      HDD............................4x146GB SAS 15k
      Цена:.........................70$

      *Аукционная цена действует на первый месяц аренды сервера. В последующие месяца цены лежат в пределах от 90$ до 100$ Дополнительный IP-адрес - 2$ шт.
      Стоимость подключения канала 1Gb/s составляет 50$.
        Более подробную информацию о выделенных серверах и дополнительных услугах читайте на нашем сайте. Контакты:
      Сайт: http://prohoster.info/
      ICQ: 4143254
      Также пишите в Online Chat
    • ничего не понятно
    • а почему бы и нет?
      https://jsfiddle.net/7ap3atk1/1/
    • Заплатили копейки за работу а теперь ждёте что бы вам её бесплатно протестировали ? 
    • А могу ли я увеличить шрифт в кнопке?