2012-07-02 76 views
1

在嘗試動態創建HTML,然後注入自己作爲一個iframe到jQuery的打開與pagebreaks打印窗口。CSS旋轉和調整

我收到一個包含id列表的會話變量。 每個我想創建一個塊:

<div class="card"> 
    <div class="top-center"> 
     <div class="first-line"> 
      some text 
     </div> 
     <div class="second-line"> 
      some text 
     </div> 
     <div class="second-line"> 
      some text 
     </div> 
    </div> 
    <div class="bottom-center"> 
     <div class="first-line"> 
      some text 
     </div> 
     <div class="second-line"> 
      some text 
     </div> 
     <div class="second-line"> 
      some text 
     </div> 
    </div> 
</div> 

的jQuery插件,我使用的是:http://www.position-absolute.com/creation/print/

我想要做什麼: 旋轉文本90°

* 
{ 
    margin: 0px; 
    padding: 0px 
} 
.card { 
    -webkit-transform: rotate(90deg); 
    page-break-after:always; 
    /* this is taken from w3schools*/ 
    margin-left:auto; 
    margin-right:auto; 
    width: 70%; 
} 

我想你可以看看這個景觀頁面 什麼,我想,然後爲你傾斜你的頭所需的90°頂部 - 中心是左側 ,底部中心是右側,因爲您可以通過短邊摺疊每頁。

每個格底/頂部應該旋轉 後,在頁面的中間死了垂直和水平。

如何取得上述頁面設置與CSS

應該是這個樣子: http://goo.gl/lNP8J

+0

這可能需要分成2個問題:一個用於旋轉內容,另一個用於創建模態窗口。 –

回答

7

對於旋轉的內容,作爲一個開始,你需要設置transform-origin中,應該用作旋轉中心的點。您可能還必須爲px或em指定旋轉元素的固定寬度(當我使用寬度以%爲單位嘗試時,它似乎不能很好地工作)。並且確保使用transformtransform-origin的全部選擇器前綴來支持不同的瀏覽器。

東西沿着以下行:

-webkit-transform-origin: 0 0; 
-moz-transform-origin: 0 0; 
-ms-transform-origin:  0 0; 
transform-origin:   0 0; 

-webkit-transform: rotate(90deg); 
-moz-transform: rotate(90deg); 
-ms-transform:  rotate(90deg); 
transform:   rotate(90deg); 

編輯:

下面是一個簡化版本,可以讓你稍微靠近。在下面的CSS中,我爲內容設置了一個固定的寬度(在這種情況下爲400px),並強制旋轉內容的頂部和左側間距爲100px。在這個例子中,我並不試圖將內容居中,但可以通過編輯CSS來調整位置(使其看起來更居中)。這並沒有解決多頁打印(尤其是如何與旋轉內容這樣做),但希望它是朝着正確方向邁出的一步:

.card { 
    width: 400px; 
    background-color: #eee; /* Temporary bg color, for testing */ 

    -webkit-transform-origin: 0 0; 
    -moz-transform-origin: 0 0; 
    -ms-transform-origin:  0 0; 
    transform-origin:   0 0; 

    -webkit-transform: translate(100px, 500px) rotate(-90deg); 
    -moz-transform: translate(100px, 500px) rotate(-90deg); 
    -ms-transform:  translate(100px, 500px) rotate(-90deg); 
    transform:   translate(100px, 500px) rotate(-90deg); 
} 

這裏有一個jsfiddle demo。在翻譯功能中,500px400px,寬度加上100px頂部間距。根據需要調整寬度和translate()值以對其進行實驗。

您可能必須避免使用%,持續寬度或內容的高度(或至少,它可能是簡單得多,如果你能避免這樣做)。

+1

每秒的旋轉不是問題,它是之後的中心對齊。在計算機圖形中進行旋轉時,通常會將元素轉換爲x,y:0,0,我認爲原點是要做的,然後在那裏旋轉,然後將元素轉換回原來的位置。 我無法解釋屏幕分辨率等,所以我認爲我可以做一些像position:absolute,然後是右邊的50%或者那裏左右,但是這不起作用,我可以真的使用額外的信息,如果你任何人都願意提供它 – fogedi

+0

大致或準確地說,您旋轉的內容或頁面的大小是多少?什麼是固定寬度,並且有可能有一個固定的或近似的高度(以防萬一它有助於知道)?內容在旋轉之前水平居中並且在旋轉之後應該保持這樣。內容與瀏覽器視口頂部的距離有多近? (是否存在某種垂直偏移量,還是位於「頁面」的頂部)? –

+0

頁面尺寸爲A4,沿着長邊摺疊,因此21.0cm x(29.7/2)= 14.85cm。 每個div底部/頂部應位於頁面的單獨50%區域的中心。 旋轉後,內容應垂直居中和水平居中。 也許風景是一個更好的選擇。 – fogedi