Нет максимального размера экрана "телефона". Ваш ресурс могут открыть с планшета с разрешением 2560*1440. И тут возникает вопрос, вы сможете "вот-прям-точно" безошибочно разделить планшет и телефон?
Мой совет, планируйте прототип, дизайн и адаптивную верстку, не обращая внимание на разделение "телефон/планшет/ПК", а подстраиваясь именно под размер. Подстраиваться надо только при написании стилей под браузеры для "телефонов/планшетов/ПК".
Потому, что mouseout срабатывает при переходе с родителя на дочерний элемент (ну и вообще при каждом чихе). А вы как раз его и создаете. В итоге элемент создаётся - срабатывает mouseout - элемент удаляется - срабатывает mousein - элемент создаётся и так по кругу. Подробнее и с картинками.
Вас спасут mouseenter/mouseleave.
Ну а вообще, сделайте скрытую кнопку в каждом узле и показывайте её через css, зачем скриптом-то?
Поддерживаю, правильнее ставить акцент на вёрстку, потому что она творит чудеса даже с плохими шрифтами. Можно еще придумать какие-то фишки интерфейса, типа замена фона, настройки шрифта (чутко заготовленные дизайнером)
Сам шрифт тут не столь важен, сколько его кегль, длинна строк и межстрочный интервал.
Для сплошного текста хорошо бы ставить 16 пунктов и ограничить строку ±70 символов, дать межстрочный интервал ±1.5, а шрифт просто из популярных вышеперечисленных.
Самое главное - белый фон, средний размер, темный цвет и межстрочный интервал ~ 1.5, сам шрифт дело вкуса, мне лично нравятся: PT Sans, Roboto, Open Sans, Helvetica, Arial.
Преимущество флекса в том, что он позволяет центрировать как горизонтально, так и вертикально. К тому же, блоки, которые мы хотим выровнять могут быть случайного размера.
Это стандартные возможности мобильного браузера. Однако противоречит канонам мобильного дизайна - текст должен быть хорошо виден пользователю мобильного устройства сразу, без всяких тапов. Соответственно, сайты где имеется такая возможность скорее всего не адаптированы под мобильные.
Даже и не знаю стоит ли стремиться к такому эффекту. Любое дополнительное действие, которое нужно сделать пользователю будет вызывать раздражение. К тому же не всегда очевидно, не все знают, что двойной тап имеет такое действие. Тут нужно либо пользователя научить, либо опять же сразу сделать чтобы все было видно без тапов.
Позвольте уточнить какой JS? Если вы имеете ввиду чистый, выполняющийся из браузера, то сразу скажу - это запрещено из соображений безопасности.
Есть два варианта:
Если вам уж так приспичило обработать какой-то файл из браузера, то придется сначала загрузить на сервер, там обработать, а потом скачать.
Если вам нужно обработать какой-нибудь файл JS просто для себя и друзей, то подойдет Node.js\io.js, но их отдельно нужно учить