Выбор правильного дизайна для веб-сайта? [закрытый]

Ну, в XSLT 1.0 вы можете использовать метод рекурсивного шаблона (НЕ предпочтительно) для удаления начальных и конечных пробелов (на случай, если вы не хотите использовать normalize-space())

Давайте предположим, что ваш ввод выглядит следующим образом:

<?xml version="1.0" encoding="UTF-8"?>
<body>
    <h1>                A text having so many leading and trailing spaces!           </h1>
</body>

Примечание: В приведенном ниже решении используется xmlns:str="xalan://org.apache.commons.lang.StringUtils" для использования его двух функций [ 116] и substringBeforeLast

Решение XSLT 1.0 для решения задачи:

<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:str="xalan://org.apache.commons.lang.StringUtils" 
exclude-result-prefixes="str">
<xsl:output method="xml" indent="yes" />

<xsl:template match="@*|node()">
    <xsl:copy>
        <xsl:apply-templates select="@*|node()" />
    </xsl:copy>
</xsl:template>

<xsl:template match="h1">
    <h1>
        <xsl:variable name="leadingSpaceRemoved">
            <xsl:call-template name="removeLeadingSpace">
                <xsl:with-param name="text" select="." />
            </xsl:call-template>
        </xsl:variable>
        <xsl:variable name="trailingSpaceRemoved">
            <xsl:call-template name="removeTrailingSpace">
                <xsl:with-param name="text" select="$leadingSpaceRemoved" />
            </xsl:call-template>
        </xsl:variable>

        <xsl:value-of select="$trailingSpaceRemoved" />
    </h1>
</xsl:template>

<xsl:template name="removeLeadingSpace">
    <xsl:param name="text" />

    <xsl:variable name="h1" select="$text" />
    <xsl:choose>
        <xsl:when test="starts-with($h1,' ')">
            <xsl:call-template name="removeLeadingSpace">
                <xsl:with-param name="text" select="substring-after($h1,' ')" />
            </xsl:call-template>
        </xsl:when>
        <xsl:otherwise>
            <xsl:value-of select="$h1" />
        </xsl:otherwise>
    </xsl:choose>
</xsl:template>

<xsl:template name="removeTrailingSpace">
    <xsl:param name="text" />

    <xsl:variable name="h1" select="$text" />
    <xsl:choose>
        <xsl:when test="str:ends-with($h1,' ')">
            <xsl:call-template name="removeTrailingSpace">
                <xsl:with-param name="text" select="str:substringBeforeLast($h1,' ')" />
            </xsl:call-template>
        </xsl:when>
        <xsl:otherwise>
            <xsl:value-of select="$h1" />
        </xsl:otherwise>
    </xsl:choose>
</xsl:template>
</xsl:stylesheet>

Кроме того, если вы можете вызвать библиотеку / класс Java в своей среде, оно будет будет проще добиться того же, что и ниже:

Ваш XSLT будет:

<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:stringparser="xalan://com.example.commons.xsl.StringUtil"
exclude-result-prefixes="stringparser">

<xsl:output method="xml" indent="yes" />

<xsl:template match="@*|node()">
    <xsl:copy>
        <xsl:apply-templates select="@*|node()" />
    </xsl:copy>
</xsl:template>

<xsl:template match="h1">
    <h1>
        <xsl:value-of select="stringparser:trim(.)" />
    </h1>
</xsl:template>
</xsl:stylesheet>

И StringUtil.java будет:

import org.apache.commons.lang.StringUtils;
public class StringUtil {
/**
 * 
 * @param input
 * @return remove leading and trailing spaces.
 */
public static String trim(final String input) {
    if (StringUtils.isNotBlank(input)) {
        return input.trim();
    }
    return input;
}
}
5
задан Kredns 14 May 2009 в 21:32
поделиться

8 ответов

Довольно сложно подвести итог всей области дизайна пользовательского интерфейса в ответ.

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

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

В этой области действительно так много всего, что ее невозможно никому легко объяснить. Проектирование не менее сложно, чем программирование, но многие программисты почему-то смотрят на него второстепенно. Попробуйте поискать в Google принципы дизайна, особенно когда они применимы в Интернете.

8
ответ дан 18 December 2019 в 05:50
поделиться

Прочтите, прочтите, прочтите !!!

Лучшее, что можно сделать, это прочитать методы дизайна и методы кодирования!

Сайты дизайна:

Сайты кодирования (ориентированные на дизайн):

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

7
ответ дан 18 December 2019 в 05:50
поделиться
  • Вы всегда должны сначала стараться использовать самый минимум.
  • Подумайте прежде всего о удобстве использования и удобстве навигации.
  • Возьмите на примере другие сайты, найдите их слабые и сильные стороны и унаследуйте их в своем решении.
  • Если вы обнаружите, что ваше «я» заблокировано из-за недостатка дизайнерского воображения, попробуйте просто подумать о заполнителях контента, то есть о том, куда идут какие-то элементы, попробуйте нарисовать это на бумаге, чтобы увидеть, как это выглядит и судите, промойте и повторите, и вы должны добраться до чего-то.
  • В идеале, покажите свои наброски кому-нибудь и примите второе мнение.
3
ответ дан 18 December 2019 в 05:50
поделиться

Дизайн и создание HTML / CSS из дизайна - это две разные игры. Первое требует художественных навыков, второе требует обширных знаний о том, как должны работать HTML и CSS и как некоторые браузеры понимают эти правила.

Для первого, если вы умеете проектировать, отлично. Если вы не можете и клиент хочет чего-то, что вы не можете предоставить, поговорите с фрилансерами. Их там миллиард.

Строить это можно всесторонне, но это может занять время. Если вы впервые перенесли сложный дизайн в Интернет, возможно, вы захотите передать и его на аутсорсинг ... Но это действительно то, что вам нужно, если вы хотите сделать карьеру в этом направлении.

Нет причин, по которым вы не можете делать все, но вы должны понимать, что ваши навыки со временем улучшатся, и когда вы сделаете свое первое, это могло быть намного лучше. Как и во всем, практика ведет к совершенству.

3
ответ дан 18 December 2019 в 05:50
поделиться

Я понял, что плохо разбираюсь в веб-дизайне: я знаю HTML, CSS (оба неплохо), но не знаю, как сделать страницу красивой. Поэтому я использую существующие шаблоны и вношу небольшие корректировки или настройки. См. Следующие вопросы для бесплатных шаблонов:

https://stackoverflow.com/questions/851666/free-website-templates-royalty-free-css-html-asp-net

https://stackoverflow.com/ questions / 522856 / what-are-good-resources-for-css-templates-or-templated-layout-sites

3
ответ дан 18 December 2019 в 05:50
поделиться

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

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

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

Хотя никогда не бывает круто просто копировать дизайн сайта, совершенно нормально заимствовать методы или идеи и использовать их для создания собственного оригинального дизайна.

Сначала создайте каркас - это позволит вам эффективно разместить информацию на странице и подумать об архитектуре и функциональности, не беспокоясь о «красивых» вещах. Затем перейдите к макету изображения, который представляет собой расширенную версию сайта. Не бойтесь отбросить дизайн и начать все заново.

Есть ряд принципов графического дизайна, которые вы можете усвоить по ходу дела. Всегда хорошо помнить о них, но мой совет - пока просто руководствуйтесь своим инстинктом. Если вы знаете каких-либо опытных дизайнеров, спрашивайте отзывы. Дизайнеры любят критиковать (в хорошем смысле).

Многие люди будут предлагать просто и понятно. Это отличный совет, но помните: простое может быть действительно сложным.

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

Удачи.

2
ответ дан 18 December 2019 в 05:50
поделиться

Поскольку вас спросили, я предполагаю, что в этом процессе участвует клиент. Так что создайте прототип, попытайтесь получить обратную связь и продолжайте в соответствии с этой обратной связью, старайтесь всегда придерживаться этих отзывов на заключительном этапе, это может оказаться очень полезным. В большинстве случаев создание дизайна зависит от содержания веб-сайта. Прежде чем делать набросок, просмотрите сайты с той же тематикой и контекстом, чтобы набраться идей в голове. Через несколько раз вы приобретете некоторые навыки и способность реально почувствовать, как это должно выглядеть. Мой личный совет: старайтесь думать о ясном дизайне, избегать загромождения, думать об удобстве использования и о функциональности, в большинстве случаев достаточно общих функций.

2
ответ дан 18 December 2019 в 05:50
поделиться

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

Также существует масса сайтов, которые могут генерировать для вас шаблоны CSS, если вы решите, какой тип макета вам может понадобиться. Это дает вам основу, которую вы впоследствии можете изменить в соответствии со своими потребностями.

1
ответ дан 18 December 2019 в 05:50
поделиться
Другие вопросы по тегам:

Похожие вопросы: