поддержка вставки столбцов в системе CMS - PullRequest
0 голосов
/ 20 октября 2011

По мере увеличения разрешения монитора у нас остается все больше и больше горизонтального пространства (ширины) и меньше вертикального пространства (большинство мониторов в настоящее время составляют 16: 9 или 16:10, некоторые даже 21: 9).В связи с этим нам требуется возможность делать длинные тексты более подходящими для большей ширины.Газетоподобные колонки - растущая тенденция.

Как их поддерживать в CMS?В настоящее время у меня есть реализация, в которой текст помещается внутри s, а затем эти div-ы украшаются определенными классами, например системными классами Blueprint (span-5, span-8 и т. Д.)

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

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

Пожалуйста, опубликуйте свои варианты в качестве ответов.Я на самом деле ищу достаточно всеобъемлющий и инновационный способ сделать это, потому что ни одна из CMS, которые я пробовал, не решилась (DotNetNuke, BlogEngine.net, Ruby's Refinery CMS, ...)

Ответы [ 2 ]

1 голос
/ 21 октября 2011

У вас есть несколько доступных вариантов, не прибегая к серверным реализациям.Некоторые браузеры поддерживают директиву CSS3 для предоставления нескольких столбцов.

#div {
    column-count: 2;
}

Свойства, доступные через CSS:

  • 'column-count', чтобы определить количество столбцов, в которыесодержимое элемента будет перетекать.
  • 'column-width', чтобы описать оптимальную ширину каждого столбца.
  • 'column-gap', чтобы установить отступ между столбцами.
  • 'column-rule', чтобы определить границу между столбцами.

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

Вот в качестве примера один из них: http://www.csscripting.com/css-multi-column/

Итак, я рекомендую использовать метод прогрессивного улучшения.Используйте опции CSS3, если они доступны, JavaScript, если нет, в противном случае используйте один широкий столбец.

Дополнительная информация: http://www.alistapart.com/articles/css3multicolumn

0 голосов
/ 22 октября 2011

Это определенно то, что DotNetNuke может обрабатывать, особенно с изменениями, внесенными в DNN 6.1. Изменения нацелены на мобильные устройства, но это не значит, что вы не можете просто использовать эту функциональность для предоставления различных видов контента в зависимости от ширины доступного экрана.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...