Great Rash
Expert-
Posts
7,974 -
Joined
-
Last visited
-
Days Won
144
Content Type
Profiles
Forums
Calendar
Store
Everything posted by Great Rash
-
Весь код? Я вообще потом планировал еще один туториал написать по созданию wysiwyg, а то таких уроков в рунете почти нет... Или тебя именно этот кусок интересует? Тогда могу сразу показать.
-
Изменить JavaScript-код.
-
<span style="font-weight: bold;"><span style="font-style: italic;">bold italic</span></span> some text превращается в <span style="font-weight: bold; font-style: italic;">bold italic</span> some text регулярка, которую я юзаю str = str.replace(/<span.* style="font-weight: bold;"?>(.+)<\/span>/g, '<b>$1</b>'); str = str.replace(/<span.* style="font-style: italic;"?>(.+)<\/span>/g, '<i>$1</i>'); Что я делаю не так? О! Придумал... у меня ж ноды формируются. Попробую менять HTML на уровне DOM, а не на уровне текста! А то я замучился уже с этими регулярками...
-
Можно.
-
Так бы и сказали, что верхнее меню... я то на боковое смотрю (там все в порядке). Можно вместо zoom: 1; попробовать position: relative; - иногда помогает. Можно плюнуть на валидность для ИЕ6 (conditional comments).
-
Дело в том что ИЕ6 не понимает png24... Ну как можно не знать такой простой вещи? Для сравнения, я об этом знал еще до того как стал верстальщиком... «png24 IE6» в Google.
-
Верстка меню с градиентным бэкграундом hover ссылки
Great Rash replied to vadimon's question in HTML Coding
http://www.alistapart.com/articles/slidingdoors/ -
Какое поведение и в каком месте не устраивает? Просто я посмотрел страницу в ИЕ6 - косяков не увидел.
-
Начальству, видимо, деньги девать некуда... На верстку таблицей тратится в разы меньше времени (а соответственно бабла) чем на верстку блоками, затем исправление багов в разных браузерах. А уж если текст лейбла будет переноситься на новую строку, а его надо оцентровывать по вертикали относительно инпута - так вообще кошмар, геморрой вырастет в разы. В общем пусть ваше начальство каждый день перед сном перечитывает подпись у товарища psywalker'а.
-
Я в этом смысле атеист
-
Верстка меню с градиентным бэкграундом hover ссылки
Great Rash replied to vadimon's question in HTML Coding
Вообще, я за такие градиенты дизайнеру бы кастрацию прописывал... Можно попробовать сделать по методу раздвижных дверей. Только у одной "двери" (пусть правой - пусть она будет меньшей) сделать однородный фон, а у другой (большей) сделать программный градиент. -
Код и ссылку на проблемную страницу в студию.
-
Я для этого использую таблицы. Особенно(!) если нужна резиновая форма.
-
Итак, рассказываю по порядку. Я делаю wysiwyg - т.е. редактор типа ворда, юзер пишет что-то в <iframe>, а на выходе получается готовый HTML-код, который потом можно вставить на страницу в нужном месте. Как работает мой wysiwyg: 1) Вместо <textarea> создается <iframe> с неким пустым документом. 2) Для документа (document) этого <iframe> задается режим редактирования (document.designMode = 'On';) 3) Это позволяет использовать метод execCommand с различными параметрами для выделения текста жирным, курсивом, подчеркнутым текстом (и т.п., команд много) 4) Когда используется команда (execCommand) в документе автоматически создается нужная нода, но проблема в том, что API разных браузеров по разному создает эти ноды. Вот пример для жирного текста: IE (6/7/8) - <STRONG>текст</STRONG> Opera - <strong>текст</strong> FireFox - <span style="font-weight: bold;">текст</span> Chrome - <b>текст</b> Safari - <b>текст</b> 5) Перед отправкой у меня отрабатывает функция очистки кода, которая должна приводить код в разных браузерах к некоему общему коду. 6) Я решил, что путь Хрома и Сафари самый правильный, поэтому при помощи регулярок я заменяю не нужные теги на нужные. 7) Заменить <STRONG> и <strong> на <b> не проблема, а вот с заменой <span> я и мучаюсь. 8) Проблема в том, что Мозилла создает спаны для всего (для курсива, жирного текста, подчеркнутого и т.п.) поэтому они могут быть по всякому вложены друг в друга. Надеюсь теперь понятно, что у меня не получается и почему?
-
Вот тут вроде неплохо описано про контекст.
-
Нет не пойдет. Мне надо знать какой из них болд а какой италик. Они же могут быть вложены наоборот.
-
Не понял, а как же закрывающий тег? Нет этот код не пойдет... Дело в том, что на выходе мне необходимо получить: some text <b><i>bold italic</i></b> some text Фишка в том, что я пишу свой велосипед wysiwyg-редактор, а код разные браузеры генерируют разный. Вот я и хочу его перед отправкой на сервер приводить к общему знаменателю...
-
JavaScript Cookbook - автор Shelley Powers Рецензия Книга в свободном доступе на Google Books <-- да-да халява сэр (I Love Google )
-
Сгенерированный код надо обязательно чистить руками. Без этого нормальное отображение вы не настроите.
-
А как же она ищет закрывающий тег? Ведь по логике она должна тут остановиться .+?? Показываю, дано: some text <span style="font-weight: bold;"><span style="font-style: italic;">bold italic</span></span> some text Сейчас у меня на выходе: some text <span style="font-style: italic; font-weight: bold;">bold italic</span> some text
-
Я про эти жадности нежадности вообще невдупляю... Слушай, а если эти теги буду вложенными как быть?
-
Яваскриптом находить координаты картинки на странице и цеплять блок по ним. Сейчас подумал: можно отказаться от display: inline-block;, а присвоить всем .image float: right;. Только располагать эти блоки надо будет, опять же, задом-наперед.
-
psywalker, ты гений! Я блин 3 часа уже доки мучаю... ну не даются мне эти регулярки хоть тресни... и как ты их так быстро схватываешь...
-
Дело в том, что в осле у блоков, идущих в коде ниже, z-index по умолчанию всегда выше чем z-index предыдущего блока. Лечится это добавлением z-index задом-наперед - т.е. первому блоку (.image) задаем z-index: 10;, второму - z-index: 9; и т.п. по убыванию. Т.к. z-index потомка отсчитывается относительно z-index'а родительского блока, то возможным решением проблемы будет вынос блока .desc за пределы блока .img.
-
Дано строка: <span style="font-weight: bold;">bold</span> some text <span style="font-style: italic;">italic</span> some other text Надо написать регулярку, которая заменит <span style="font-weight: bold;">bold</span> на <b>bold</b>. Пишу такую регулярку: str = str.replace(/<span.* style="font-weight: bold;">(.*)<\/span>/g, '<b>$1</b>'); Получаю на выходе вот такую строку: <b>bold</span> some text <span style="font-style: italic;">italic</b> some other text Как написать регулярное выражение, чтобы заменить спан правильно?