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

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

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

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

JavaScript

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

HTML

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

Q&A

1回答

133閲覧

splideで作成したスライダーの連番がiOSだと「01」から始まらない

non-non

総合スコア14

iOS

iOSとは、Apple製のスマートフォンであるiPhoneやタブレット端末のiPadに搭載しているオペレーションシステム(OS)です。その他にもiPod touch・Apple TVにも搭載されています。

JavaScript

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

HTML

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

0グッド

1クリップ

投稿2024/10/13 07:13

編集2024/10/13 07:15

実現したいこと

iOS端末でも擬似要素で作成している「01」「02」のような連番を正しく表示したいです。

発生している問題・分からないこと

スライダーライブラリのsplideを使用して次のようなスライダーを作成しました。
・PCページでは1スライド内に2行3列の合計6項目表示。スライドすると6項目全て移動して次の6項目が表示される。
・SPページでは1画面に1項目表示させ、前後の項目を見切れさせる。
・PC・SP共通して擬似要素で「01」「02」「03」のように連番を振っている。

作成したスライダーをChromeで確認するとPC・SPどちらも問題なく表示されているようなのですが、safariで表示した場合、SPページの方の連番が08から始まってしまいます。

※念の為codepenにて実装したものも貼っておきます。
https://codepen.io/k_2024/pen/xxvgQwP

エラーメッセージ

error

1コンソールにエラーメッセージは表示されませんでした。

該当のソースコード

html

1<section> 2 <div class="container"> 3 <div class="text-contents"> 4 <div class="splide-container"> 5 <div class="splide"> 6 <div class="splide__track"> 7 <ul class="splide__list"> 8 <li class="splide__slide"> 9 <dl> 10 <dt> 11 見出し1 12 </dt> 13 <dd> 14 内容内容内容内容内容内容内容内容 15 </dd> 16 </dl> 17 </li> 18 <li class="splide__slide"> 19 <dl> 20 <dt> 21 見出し2 22 </dt> 23 <dd> 24 内容内容内容内容内容内容内容内容 25 </dd> 26 </dl> 27 </li> 28 <li class="splide__slide"> 29 <dl> 30 <dt> 31 見出し3 32 </dt> 33 <dd> 34 内容内容内容内容内容内容内容内容 35 </dd> 36 </dl> 37 </li> 38 <li class="splide__slide"> 39 <dl> 40 <dt> 41 見出し4 42 </dt> 43 <dd> 44 内容内容内容内容内容内容内容内容 45 </dd> 46 </dl> 47 </li> 48 <li class="splide__slide"> 49 <dl> 50 <dt> 51 見出し5 52 </dt> 53 <dd> 54 内容内容内容内容内容内容内容内容 55 </dd> 56 </dl> 57 </li> 58 <li class="splide__slide"> 59 <dl> 60 <dt> 61 見出し6 62 </dt> 63 <dd> 64 内容内容内容内容内容内容内容内容 65 </dd> 66 </dl> 67 </li> 68 <li class="splide__slide"> 69 <dl> 70 <dt> 71 見出し7 72 </dt> 73 <dd> 74 内容内容内容内容内容内容内容内容 75 </dd> 76 </dl> 77 </li> 78 <li class="splide__slide"> 79 <dl> 80 <dt> 81 見出し8 82 </dt> 83 <dd> 84 内容内容内容内容内容内容内容内容 85 </dd> 86 </dl> 87 </li> 88 <li class="splide__slide"> 89 <dl> 90 <dt> 91 見出し9 92 </dt> 93 <dd> 94 内容内容内容内容内容内容内容内容 95 </dd> 96 </dl> 97 </li> 98 <li class="splide__slide"> 99 <dl> 100 <dt> 101 見出し10 102 </dt> 103 <dd> 104 内容内容内容内容内容内容内容内容 105 </dd> 106 </dl> 107 </li> 108 </ul> 109 </div> 110 <div class="splide__arrows"> 111 <button class="splide__arrow splide__arrow--prev button prev"></button> 112 <button class="splide__arrow splide__arrow--next button next"></button> 113 </div> 114 </div> 115 </div> 116 </div> 117 </div> 118 </section>

scss

1section{ 2 position: relative; 3 margin-bottom: 120px; 4 padding: 115px 0 125px; 5 6 .container{ 7 .text-contents{ 8 display: flex; 9 flex-direction: column; 10 justify-content: center; 11 flex-wrap: nowrap; 12 13 .splide-container{ 14 width: 100%; 15 max-width: 800px; 16 margin: 0 auto; 17 18 .splide{ 19 .splide__track{ 20 .splide__list{ 21 counter-reset: point; 22 23 .splide__slide{ 24 .splide__slide__row{ 25 .splide__slide{ 26 display: flex; 27 flex-direction: column; 28 flex-wrap: nowrap; 29 position: relative; 30 width: calc((100% - 30px) / 3) !important; 31 margin: 0 5px 5px; 32 padding: 20px 20px 40px; 33 background: #fff; 34 color: #000; 35 border: 1px solid; 36 37 &::before{ 38 content: counter(point, decimal-leading-zero); 39 display: block; 40 position: relative; 41 margin-bottom: 5px; 42 color: #FF0000; 43 font-size: 2rem; 44 font-weight: 400; 45 text-align: center; 46 letter-spacing: .1em; 47 counter-increment: point; 48 } 49 50 dl{ 51 dt { 52 position: relative; 53 margin-bottom: 20px; 54 font-size: 2rem; 55 font-weight: 700; 56 letter-spacing: .1em; 57 text-align: center; 58 line-height: 1.4; 59 } 60 61 dd { 62 font-size: 1.5rem; 63 font-weight: 400; 64 line-height: 1.7; 65 letter-spacing: .1em; 66 } 67 } 68 } 69 } 70 } 71 } 72 } 73 74 .button { 75 background: none; 76 height: 50px; 77 width: 50px; 78 } 79 80 .button::before { 81 content: ""; 82 display: block; 83 position: absolute; 84 width: 50px; 85 height: 50px; 86 margin: auto; 87 } 88 89 .prev{ 90 left: -25px; 91 92 &:before{ 93 top: 50%; 94 content: '<'; 95 } 96 } 97 98 .next{ 99 right: -25px; 100 101 &:before{ 102 top: 50%; 103 content: '>'; 104 } 105 } 106 107 .button:disabled::before { 108 opacity: .5; 109 } 110 } 111 } 112 } 113 } 114} 115 116@media screen and (max-width: 959px){ 117/* ------------------------------------------------------*/ 118 119section{ 120 margin-bottom: 60px; 121 padding: 55px 0 65px; 122 123 &::before{ 124 width: 100vw; 125 } 126 127 .container{ 128 .text-contents{ 129 width: 100%; 130 131 .splide-container{ 132 .splide{ 133 .splide__track{ 134 overflow: visible; 135 136 .splide__list{ 137 .splide__slide{ 138 height: auto; 139 padding: 20px 15px; 140 background: #fff; 141 color: #000; 142 border: 1px solid; 143 144 &::before{ 145 content: counter(point, decimal-leading-zero); 146 display: block; 147 position: relative; 148 margin-bottom: 5px; 149 color: #FF0000; 150 font-size: 2rem; 151 font-weight: 400; 152 text-align: center; 153 letter-spacing: .1em; 154 counter-increment: point; 155 } 156 157 @for $i from 1 through 7 { 158 &:nth-of-type(#{$i}) { 159 counter-reset: point #{$i - 1}; 160 } 161 } 162 163 dl{ 164 dt { 165 position: relative; 166 margin-bottom: 20px; 167 font-size: 2rem; 168 font-weight: 700; 169 letter-spacing: .1em; 170 text-align: center; 171 } 172 173 dd { 174 font-size: 1.5rem; 175 font-weight: 400; 176 line-height: 1.7; 177 letter-spacing: .1em; 178 } 179 } 180 } 181 } 182 } 183 184 .splide__arrows{ 185 .prev{ 186 left: 0; 187 } 188 189 .next{ 190 right: 0; 191 } 192 } 193 } 194 } 195 } 196 } 197} 198}

javascript

1$(function() { 2 // Splide 3 new Splide('.splide', { 4 type: 'slide', 5 pagination: false, 6 perPage: 1, 7 perMove: 1, 8 grid: { 9 rows: 2, 10 cols: 3, 11 }, 12 breakpoints: { 13 959: { 14 type: 'loop', 15 grid: { 16 rows: 1, 17 cols: 1 18 }, 19 padding: "20%", 20 gap: 20, 21 clones: 7 22 } 23 } 24 }).mount(window.splide.Extensions); 25 26 if (window.matchMedia("screen and (max-width: 959px)").matches) { 27 } 28}); 29

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

javascript内のclonesの値を調整すれば解決するかと思ったのですが、clonesの設定をコメントアウトすると、前後のクローンの数を取得してしまい、最初の要素の番号が「03」と表示されてしまいます。

補足

特になし

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

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

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

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

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

Lhankor_Mhy

2024/10/15 08:16

ご提示のcodepenを試してみたところ、Firefoxのdevtoolsでレスポンシブデザインモードにすると、08がセンターにありました。ご参考までに。
Lhankor_Mhy

2024/10/15 10:04

Chrome のバグか、Chrome 以外のバグかのどっちかだと思います。
guest

回答1

0

以下を

scss

1@for $i from 1 through 7 { 2 &:nth-of-type(#{$i}) { 3 counter-reset: point #{$i - 1}; 4 } 5}

以下に変更するといいのかもしれません。

scss

1&:nth-of-type(8) { 2 counter-set: point 0; 3}

投稿2024/10/15 10:26

Lhankor_Mhy

総合スコア36896

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.37%

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

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

質問する

関連した質問