質問をすることでしか得られない、回答やアドバイスがある。

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

新規登録して質問してみよう
ただいま回答率
85.48%
CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

3回答

355閲覧

仕切りの付いたインライン要素のリストをレスポンシブ対応させたい

mth

総合スコア8

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

2クリップ

投稿2018/08/15 05:59

編集2018/08/15 07:29

前提・実現したいこと

仕切りのための斜めボーダーを入れて並べたliを、レスポンシブによってliが折り返して表示された際に
各行の初めのボーダーを取り除きたい。

↓これを
リスト1/リスト2/リスト3/リスト4/リスト5

レスポンシブによって

リスト1 / リスト2 / リスト3
/ リスト4 / リスト

や、

リスト1 / リスト2
/ リスト3 / リスト4
/ リスト5

となるのを、

リスト1 / リスト2 / リスト3
リスト4 / リスト5

リスト1 / リスト2
リスト3 / リスト4
リスト5

にしたい。

該当のソースコード

<ul> <li><a href="#">リスト1</a></li> <li><a href="#">リスト2</a></li> <li><a href="#">リスト3</a></li> <li><a href="#">リスト4</a></li> <li><a href="#">リスト4</a></li> </ul>

試したこと

javascriptでulの高さを取得し、現在の行数を計算。
その上で各行の初めに対してcssを適用させれば実現できそうですが、
これをコードでどのように書けばいいのかわかりません。

ご指導をお願いできますでしょうか。

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

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

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

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

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

liveasnotes

2018/08/15 06:42

aタグの閉じタグを忘れてますよ
guest

回答3

0

自己解決

皆様からいただいたアドバイスを参考に以下のソースで実現できました。

html

1<div> 2  <ul> 3    <li><a href="#">リンク1</a></li> 4    <li><a href="#">リンク2</a></li> 5    <li><a href="#">リンク3</a></li> 6    <li><a href="#">リンク4</a></li> 7    <li><a href="#">リンク5</a></li> 8  </ul> 9</div>

css

1div { 2 overflow: hidden; 3} 4 5ul { 6 margin-left: -20px; 7} 8 9ul li { 10 display: inline; 11 border-left;1px solid #000; 12 margin-left: 10px; 13 padding-left: 10px; 14} 15ul li a { 16 display: inline-block; 17}

各リスト(li)の左側に作ったボーダー+余白を、

1.リスト全体を包んだ要素(div)に「overflow:hidden」をかけ、
2.リスト全体(ul)にネガティブマージンを取ることで、

表示領域から隠します。
斜め線もli要素に斜め線のbackgroundイメージを設定することで実現できました。

x_xさん、liveAsNotesさんありがとうございました。

投稿2018/08/16 01:10

mth

総合スコア8

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

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

0

こういうことでしょうか
イメージ説明
https://thimbleprojects.org/liveasnotes/532256/
右上のリミックスボタンから,ソースコードを閲覧・編集できます

この辺が実装のポイントです↓

css

1ul{ 2 list-style: none; 3 display: flex; 4 flex-wrap: wrap; 5 padding: 0; 6 overflow: hidden;/*ここ重要*/ 7} 8 9li{ 10 position: relative; 11 flex: 0 0 6.5rem; 12 margin-right: 1.5rem;/*ここ重要*/ 13 padding: 1rem; 14} 15li::after{/*ほぼ全部重要*/ 16 content: ""; 17 position: absolute; 18 top: 0; 19 left: 0; 20 width: 1px; 21 height: 100%; 22 background: #aaa; 23 transform-origin: top right; 24 transform: rotate(25deg) translate(-.2rem, 3px); 25}

投稿2018/08/15 08:48

liveasnotes

総合スコア1284

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

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

0

以前似たような質問がありましたが参考になるでしょうか

navのliとliの間に入れる「|」区切り線を改行のタイミングで消したい
https://teratail.com/questions/80145

投稿2018/08/15 06:30

x_x

総合スコア13749

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

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

mth

2018/08/15 07:05

お知らせいただきありがとうございます。 参考の通り、border-rightであれば行末で消すことができました。 ただ、実現したい斜め線の仕切りですと、参考のままでは実現しませんでした。このソースをもとに実現できるか模索してみます。
x_x

2018/08/15 07:29

斜めですか? ここにあるような方法でしているのなら、ulでtransformを使ってみてはどうでしょう? http://yuzum.com/blog/post042801
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問