1

テキスト ラベルを 270 度回転させる必要があるコントロールをレイアウトしようとしています。テキスト ラベルの幅は、理由の範囲内で可変です (たとえば、100px から 500px)。

ここに画像の説明を入力

これをjsFiddleで機能させようとしました

http://jsfiddle.net/ericjohannsen/LhjNq/3/

しかし、私が解決できないいくつかの問題に遭遇しました:

  1. 回転されていない領域 (jsFiddle の黄色とオレンジ色) のテキストは、回転されたテキストの長さだけ右に移動します。
  2. 回転されたテキストは、関連する回転されていない領域の下部よりはるかに下まで伸び、ページの他の部分を上書きします。
  3. 画面上のラベルを維持するために、回転したテキストの長さに基づいてハードコーディングされた値を使用して、翻訳変換を適用する必要がありました。

CSS 変換を使用してこれらの問題を解決することは可能ですか?

アップデート

この jsFiddle は問題 2. をより明確にします。

http://jsfiddle.net/ericjohannsen/LhjNq/47/

4

3 に答える 3

0

これはあなたが探しているものですか?

http://jsfiddle.net/thundercracker/LhjNq/53/

div の高さを修正する唯一の解決策は JavaScript だと思います。

余分なスペースをなくすために、div を完全に配置しました。

IE の回転値も適切ではないと思います。それらを 1.2 に変更したところ、うまくいったようです。ただし、IE で div の正しい高さを取得する方法にまだ取り組んでいますが、同じようには機能しません。

編集:

IE は実際に要素の寸法を変更するため、高さを取得する必要があります。また IE では、回転された div は、他のブラウザーのように下からではなく、コンテナーの上から配置する必要があります。

編集:更新されたリンク

于 2012-08-06T07:11:11.593 に答える
0

私はIEサポートを管理するためにmbFlipTextと呼ばれる小さなjQueryラッパーによって生成されたSVGを使用してこの問題を解決しました

http://jsfiddle.net/ericjohannsen/cgtu5/7/

于 2012-08-11T00:21:07.293 に答える
0

の影響を受けるすべての変換が適用されtransform-originます。デフォルトでは50% 50%、すべての変換がブロックの中心に対して相対的に行われることを意味する値があります。

0 0主なアイデアは、 (左上隅) に変更することです— これにより、dabblet.com の「回転したテキストの長さに基づいてハードコードされた値」のデモを省略することができます。

それをセットアップしてみてください:

ここに画像の説明を入力

CSS:

transform: rotate(-270deg);
transform-origin: 0 0;
于 2012-08-06T07:23:57.133 に答える