Что лучший способ состоит в том, чтобы пойти от макета Photoshop до семантического HTML и CSS?

Это можно сделать с помощью регулярных выражений:

import re

def noDoubles(string):
    subChars = set("wxyz")
    result   = list(string)
    for match in re.finditer(r"(.)(\1+)",string):
        usedChars = set(string[match.start():match.end()+1])
        altChars  = list(subChars - usedChars)
        size      = match.end(2) - match.start(2)
        size      = size - (size>1) 
        result[match.start(2):match.start(2)+size] = (altChars[:2]*size)[:size]
    return "".join(result)

print(noDoubles("xyxxxyaaabbyyaaaaa")) # "xyxzxyazabzyzazwza"

Выражение (.) (\ 1+) находит первый символ и последующие повторения строки повторяющихся символов. Зацикливание совпадений позволит вам заменить эту последующую часть чередующимся набором символов, которые не повторяются и не следуют за ним. Вам необходимо использовать чередующийся шаблон для замены, чтобы не создавать новых повторений.

Обратите внимание, что нам нужно работать только с 4 подстановочными символами, потому что повторяющийся символ и следующий символ будут либо одним, либо двумя из 4 (оставляя два для альтернативы), либо ни одним из них (что позволяет нам использовать любые два из 4).

22
задан Jon Galloway 21 August 2008 в 08:32
поделиться

8 ответов

У меня есть довольно естественный способ кодировать. Ключ должен рассматривать страницу как документ или статья. При размышлении о нем как это, следующее становится логически ясным:

  1. название страницы является верхним уровнем, направляющимся

    • , Делаете ли Вы заголовок сайта или фактическое название страницы, h1 ваше дело - лично я сделал бы О Нас h1, а не Переполнение стека.
  2. навигация является оглавлением, и таким образом заказанный список - можно также использовать ol по ул.

  3. , заголовки Раздела являются h2, разделы в тех разделах являются h3s и т.д. Сложите их.

  4. блоки цитирования Использования и кавычки, если это возможно. Не просто окружите его ".

  5. не используют b и меня. Используйте сильный и их. Это вызвано тем, что HTML является структурной а не представляемой разметкой. Сильный и их теги phasis должны использоваться, где Вы поставили акцент на слове.

  6. <label> Ваши элементы формы.

  7. Использование <acronym> с и <abbr> с, если это возможно, но только прежде всего.

  8. самое легкое: всегда, всегда дают Вашим изображениям некоторый дополнительный текст.

  9. существует много HTML-тэгов, Вы могли использовать это, Вы, вероятно, не имеете - обращаются для почтовых адресов, экранируют вывод кода. Взгляните на Собака HTML для некоторых, это - моя любимая ссылка.

Это - всего несколько указателей, я уверен, что мог думать о больше.

, О, и если Вы хотите запись проблемы Ваш XHTML сначала, затем пишут CSS. Когда луг CSS Нельзя коснуться HTML. Это на самом деле более твердо, чем Вы думаете (но я нашел, что это сделало меня более быстрым).

10
ответ дан 29 November 2019 в 05:43
поделиться

Ну, когда я создаю веб-сайт, я склонен пытаться забыть о дизайне полностью при записи HTML. Я делаю это так, я не закончу ни с какой определенной для дизайна разметкой и таким образом, я смогу сфокусироваться на семантическом значении элементов.

Некоторые указатели, как к вещам разметки:

  • меню - использует УЛ. (незаказанный список) элемент, так как это точно, каково меню. незаказанный список выбора. пример:

    <ul id="menu">
        <li id="home"><a href="/" title="Go to Homepage">Home</a></li>
        <li id="about"><a href="/about" title="More about us">About</a></li>
    </ul>
    

    , если Вы хотели бы горизонтальное меню, Вы могли бы сделать это:

    #menu li {
        display: block;
        float: left;
    }
    
  • Логотип - используют H1 (заголовок) элемент для логотипа вместо изображения. Пример:

    <div id="header">
        <h1>My website</h1>
    </div>
    

    И CSS (та же техника может быть применена к меню выше, если Вы хотели бы меню с графическими объектами):

    #header h1 {
        display: block;
        text-indent: -9999em;
        width: 200px;
        height: 100px;
        background: transparent url(images/logo.png) no-repeat;
    }
    
  • идентификаторы и классы - используют идентификаторы для идентификации элементов, из которых у Вас только есть один экземпляр. Используйте класс для идентификации элементов, из которых Вы получили несколько экземпляров.

  • Использование текстовый браузер (например, рысь). Если имеет смысл перейти таким образом, Вы делали хорошее когда дело доходит до доступности.

я надеюсь, что это помогает:)

4
ответ дан 29 November 2019 в 05:43
поделиться

Я по существу делаю то же самое, которое Jon делает, но здесь является несколькими другими идеями:

  1. Руководства по Использованию в Photoshop (и блокировка им). Выясните все свои размеры для каждого поля / регион заранее.

  2. Собирают все Ваши размеры и цветные шестнадцатеричные значения в информационный файл (я использую txt файл), что можно легко сослаться. Это снизит Ваш налог alt-tab, и выбор раскрашивает Photoshop многократно.

  3. После того, как все мои Руководства на месте, я нарезаю весь веб-сайт в свою папку изображений, начиная с фотографий, и сгруппированные элементы, и заканчивающийся различными фоновыми мозаиками/изображениями, должны они существовать. (Подсказка: Используйте ctrl - нажимают на предварительный просмотр слоя для выбора содержания того слоя).

Примечания по использованию Photoshop:

  • Руководства по Использованию или Сетка.
  • Используют функцию Notes для любой уместной информации
  • Всегда Группы слоев использования для подобных элементов. Нам необходимо выключить все регионы в один клик. Поместите весь контент 'заголовка' в одну Группу слоев.
  • Всегда называют Ваши слои.
  • можно поместить каждый шаблон страницы в один файл PSD и использовать вложенные группы слоев для организации их. Таким образом, мы не должны устанавливать все наши руководства и примечания для каждого шаблона страницы на сайте.
3
ответ дан 29 November 2019 в 05:43
поделиться

Я просто думал, что стоило указать, что в дополнение к превосходному совету Вы имели до сих пор, я рекомендовал бы получить печатную версию дизайна, с помощью красного пера для повышения всех элементов блока на дизайне, Вы думаете, что можно определить и садящийся с разработчиком в течение получаса и говорящий через, как они предположили свой дизайн, работающий на варианты использования, которые не соответствуют статическому дизайну.

  • Что происходит, когда больше текста помещается в навигацию?
  • Эта ширина фиксируется или жидкость?
  • Действительно ли это довольно, что область к праву зафиксировала высоту или жидкость? Если это жидко, почему Вы помещали фон на него, который не может быть повторен?
  • У Вас есть граница, расширяющаяся ниже на страницу, которая повреждает два в других отношениях связанных элемента. Визуально это имеет смысл, но семантически я не не могу только использовать литий для корпуса обоих тех элементов. То, что Вы думаете, более важно?

Это также поможет Вам определить потенциальные проблемы, которые Вы, возможно, не иначе поняли, были проблемами до Вашего колена глубоко в CSS.

Мало того, что это делает Ваше задание легче после несколько раз выполнения его, Ваш разработчик получит намного более сильный смысл того, что вовлечено в повышение их работы - некоторые разработчики испытывают реальные затруднения при понимании, почему что-то, они думают взгляды, визуально очень простые, займет несколько дней тонкой настройки CSS для создания работы.

1
ответ дан 29 November 2019 в 05:43
поделиться

Некоторые разработчики я знаю, обычно Illustrator использования для создания элементов дизайна.

0
ответ дан 29 November 2019 в 05:43
поделиться

Никакие ярлыки:), но все работают немного по-другому.

Это учебное руководство , которое открылось в моем feedreader вчера, показывает процесс от начала до конца и могло бы помочь людям, которые никогда не делали этого прежде, но поскольку Вы - опытный человек, это примерно оптимизировало Ваши собственные методы.

РЕДАКТИРОВАНИЕ: ссылка listapart, конечно, более автоматизирована для 'плоских' проектов, где и imageready и фейерверки имели довольно хорошую поддержку со дня один, и это имеет лучше и более семантический с каждым выпуском, но если у Вас есть более сложный дизайн, это - извилистые биты, которые делают дизайн, что это, и они должны быть сделаны вручную.

1
ответ дан 29 November 2019 в 05:43
поделиться

Кроме того, узнайте функцию "Layer Comps". Я использую это для изменения состояний кнопки.

  1. уровень Create аккомпанирует для нормального, при наведении курсора, и активный.
  2. В каждом из них, настраивает эффекты/перекрытия цвета и видимые слои, которые тяготеют к тому состоянию.
  3. Сохраняют для сети: перейдите к другой папке для каждого состояния, если не будет легче переименовать каждую часть (иначе, Ваши части кнопки при наведении курсора перезапишут Ваши обычные части).
0
ответ дан 29 November 2019 в 05:43
поделиться

Эта страница показывает, как сделать это немного более автоматизированный.

0
ответ дан 29 November 2019 в 05:43
поделиться