【问题标题】:supporting columns insertion in CMS systemCMS系统中的支撑柱插入
【发布时间】:2011-10-20 19:00:48
【问题描述】:

随着显示器分辨率的提高,我们留下的水平空间(宽度)越来越多,垂直空间越来越少(现在大多数显示器是 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,...)

【问题讨论】:

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


    【解决方案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

    【讨论】:

    • 感谢您的建议,我会密切关注此规范,但现在它不合适。 IE9 不支持它,Firefox 和 Chrome 仅通过供应商特定的属性支持它,但呈现很奇怪(列未垂直对齐)。
    【解决方案2】:

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

    【讨论】:

    • 是 6.01 Beta 还是我应该下载哪个版本?我在哪里可以看到它的实际效果?
    • 是的,可以下载 6.1.0 测试版,虽然现在已经有几周了,但我相信我们即将发布
    猜你喜欢
    • 1970-01-01
    • 2022-01-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多