🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

Q&A

解決済

1回答

831閲覧

z-index : auto を calc();を利用して逆行させることは可能か?

Kosketu

総合スコア46

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

CSS

CSSはXMLやHTMLで表現した色・レイアウト・フォントなどの要素を指示する仕様の1つです。

0グッド

0クリップ

投稿2020/12/22 01:57

前提・実現したいこと

すいません、初心者です。教えてください。
z-index:auto;は記述順に値が増えていくと思うんですが、
calc();を使って逆行させていくことはできるでしょうか?

なるべくコードを少なくしたいと考えて、
liタグが持つidの"b"部分一致させつつ、
calc();を用いようと考えましたが上手くできませんでした。

陳列イメージ

[one]two]three]four]five]

該当のソースコード

HTML >>>> <ul> <li id="a1"> One </li> <li id="b1"> Two </li> <li id="b2"> Three </li> <li id="b3"> Four </li> <li id="b4"> Five </li> </ul>
CSS >>>> ul { list-style: none; position: relative; padding: 10px; } li { display: inline-block; background: #eee; border: 1px solid #ccc; border-radius: 10px; padding: 10px; margin: 0 -10px; width:35px; } ul li[id*="b"]{ margin-left:calc(20px * -0.7); z-index:auto; }

試したこと

z-index:calc(auto * -1); z-index:calc(-100 + auto );

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Kosketu

2020/12/22 05:50 編集

やっぱりできませんかぁ、、https://jsfiddle.net/0841sdwc/ こちらでも同様に書いてありました。 出来てもcontentだけのようですね…。勉強になりました!!ありがとうございます!!
miyabi_takatsuk

2020/12/22 06:03

やりたくなる気持ちは死ぬほどわかります。 解決したなら、自己解決の投稿をして、質問を閉じましょう。
guest

回答1

0

自己解決

質問への追記・修正の依頼にて教えてもらった通り、デクリメント指定は出来ない様だったので、
Javascriptを使うことにした。(初めてスプレッド構文を使ってみた。)
書き方が素人でほんとすいません。
参考サイト:https://qiita.com/mtoutside/items/548cb6b08c160ba6e514

CSS

1ul {...} 2 3li { 4 position: relative; <<<< 追記 5 display: inline-block; 6 background: #eee; 7 border: 1px solid #ccc; 8 border-radius: 10px; 9 padding: 10px; 10 margin: 0 -10px; 11 width:35px; 12 13ul li[id*="b"]{...}

javascript

1 2const disZIndex = () =>{ 3 const array = [...document.querySelectorAll('[id*=b]')]; 4 console.log(array); 5 for(let i = 0; i < array.length; i++){ 6 let x = array[i].id; 7 document.getElementById(x).style.zIndex = -10 - i; 8 } 9} 10 11func1();

投稿2020/12/23 19:06

Kosketu

総合スコア46

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.36%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問