TYPO3 - 在单个页面上覆盖样式

时间:2011-05-26 10:46:29

标签: css typo3

如何覆盖指定网站上的某些样式? 我想用css-file方式做。

在我的情况下仍然没有下面的答案..

3 个答案:

答案 0 :(得分:6)

根据要应用的CSS数量,您还可以考虑仅使用add the page ID as a class on the <body>,例如<body class="uid-456">

page.bodyTag >
page.bodyTagCObject = TEXT
page.bodyTagCObject {
    field = uid
    wrap = <body class="uid-|">
}

然后,在你的CSS中:

.uid-456 myElement {
    myCustomStyle... /* Applies to page ID = 456 only. */
}

<强>更新
用Templavoilà测试。以下工作(来自主模板的Setup字段):

page = PAGE
page {
    typeNum = 0

    10 = USER
    10.userFunc = tx_templavoila_pi1->main_page

    bodyTag >
    bodyTagCObject = TEXT
    bodyTagCObject {
        field = uid
        wrap = <body class="uid-|">
    }

    ...
}

答案 1 :(得分:1)

使用TypoScript添加CSS规则(使用page.cssInline)或其他CSS文件(page.includeCSS)。请参阅TSref,PAGE章节。

答案 2 :(得分:1)

我建议使用Typoscript Conditions添加/覆盖(css)文件。 例如

page.headerData.10 = TEXT
page.headerData.10.value (

    <link rel="stylesheet" href="fileadmin/js_css/style.css" />
)
#### add css to Page ID 1
[globalVar = TSFE:id = 1]
page.headerData.20 = TEXT
page.headerData.20.value (

    <link rel="stylesheet" href="fileadmin/js_css/mycustomstyle.css" />
)
[end]

或者在后端这样做的一种肮脏但有用的方法就是这个小片段。它使用页面属性中的abtract字段,您可以在<head>中添加一些代码。

page.headerData.20 = TEXT
page.headerData.20.data = field:abstract
page.headerData.20.wrap =  |