在CMS系统中支持列插入

时间:2011-10-20 19:00:48

标签: asp.net css asp.net-mvc content-management-system

随着显示器分辨率的提高,我们留下越来越多的水平空间(宽度)和更少的垂直空间(现在大多数监控是16:9或16:10,有些甚至是21:9)。因此,我们需要能够使长文本更适合更大的宽度。像柱子这样的报纸是一种不断增长的趋势。

如何在CMS中支持这些人?我目前有一个实现,其中文本被放在s中,然后这些div用某些类来装饰,例如Blueprint CSS系统的那些(span-5,span-8等)

这可行,但不提供出色的用户体验。大多数RTE无法显示那些或链接的站点CSS所需的内容。这会带来所有其他类和CSS设置,这些都不是最佳的。

我还为用户实现了创建TEXT内容项的选项,该项目通常只包含一段文本(例如一列),用户可以动态地将这些内容添加到页面中(就像添加/删除小部件一样) )。这个解决方案的问题在于,几乎每个段落都成为自己的文本内容项,结果是这些文本的数量增长并变得难以管理。

请将您的选项作为答案发布。我实际上正在寻找一种全面而创新的方法,因为我试过的CMS都没有解决这个问题(DotNetNuke,BlogEngine.net,Ruby的Refinery CMS,...)

2 个答案:

答案 0 :(得分:1)

您可以使用一些选项而无需借助服务器端实现。有些浏览器支持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

答案 1 :(得分:0)

这绝对是DotNetNuke可以处理的问题,尤其是DNN 6.1中的更改​​。这些更改是针对移动设备的,但这并不意味着您不能简单地使用该功能根据可用屏幕的宽度提供不同的内容视图。