我想要做的東西像下面這樣:對齊文本基礎上,如果頁面左邊或右邊
@page :left{
h1 {text-align: left;}
}
@page :right {
h1 {text-align: right;}
}
但是這句法不會CSS工作。如何根據頁面是左側還是右側來更改文本對齊方式?
我想要做的東西像下面這樣:對齊文本基礎上,如果頁面左邊或右邊
@page :left{
h1 {text-align: left;}
}
@page :right {
h1 {text-align: right;}
}
但是這句法不會CSS工作。如何根據頁面是左側還是右側來更改文本對齊方式?
我沒有測試過的,我相信你可以做到這一點:
@page :left h1 {text-align: left;}
@page :right h1 {text-align: right;}
剛剛嘗試過,沒有工作(在Chrome中)。 – 2015-04-03 14:08:45
目前沒有支持@page規則的瀏覽器。您可以嘗試PrinceXML – pwavg 2016-01-18 12:48:26
如果設置對齊方式的網頁上的所有文字是可以接受的,這應該工作:
@page :left {text-align: left;}
@page :right {text-align: right;}
如果該頁面包含一個h1元素以及一個或多個其他元素,您可以將h1放在頁面標題中,請參閱this related question。
的評估副本謝謝,但我需要能夠設計單個元素。 – 2015-04-07 08:31:07
@Nate:編輯答案 – Hobbes 2015-04-07 08:38:33
謝謝。我認爲目前還沒有對基於當前頁面的更一般的樣式化問題提供CSS答案,但您指出的解決方案可以與Flying Saucer或WeasyPrint(但不是任何瀏覽器)兼容。 – 2015-04-07 10:27:36
根據https://www.w3.org/TR/css3-page/#margin-property-list,語法:
@page :left {
h1 { text-align: left; }
}
@page :right {
h1 { text-align: right; }
}
是正確的;然而,正如其他人所說,目前沒有對@page
的瀏覽器支持,而PrinceXML的最新版本也不支持text-align
。
這意味着,現在,它無法做到的。
然而,PrinceXML支持margin
在頁邊距環境。所以,如果人們能夠承受使用靜態邊距推文本,例如:
@page :left{
h1 { margin-right: 10000em; } // We all know 10000em equals to infinity.
}
@page :right {
h1 { margin-left: 10000em; }
}
然後這是一個好kludge。
編輯:其實,PrinceXML做,而不是連續的頁眉支持text-align
;顯然它只適用於生成的字符串內容。
你想改變H1對齊只,或該網頁上的所有段落樣式? – Hobbes 2015-04-03 12:28:55
兼容性似乎有限,這可能是主要問題.. https://developer.mozilla.org/en-US/docs/Web/CSS/:left但是你有沒有嘗試過'margin-left:'和'margin-right :??文本對齊只會對齊你的h1標籤中的文本,如果沒有設置寬度,你不會注意到任何一邊的對齊,因爲h1塊只會和其中的文本一樣寬。 – 2015-04-03 12:29:17
@霍布斯我在這個頁面上只有一個文本元素,所以我想這兩種方法都可以。 @HastigZusammenstellen這個名字對於'@'消息來說太長了。無論如何,任何解決方案都可以,只要我可以根據頁面是左邊還是右邊來指定一些格式。 – 2015-04-03 14:10:49