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

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

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

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

HTML

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

CSS

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

Q&A

解決済

1回答

1576閲覧

swiperを使った画面中央に文字を配置するにはどうしたら良いですか?

tanakashouzoux

総合スコア52

JavaScript

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

HTML

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

CSS

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

0グッド

0クリップ

投稿2019/06/07 05:37

編集2019/06/07 08:08

イメージ説明

画像のスライダーとして「swiper」を使っています

画像の切り替わりと同時に切り替わらないように、つまり画像は切り替わるけれども文字は切り替わらず常に画像の中央に配置したいのですがどうしたら実現できるでしょうか?
position:relativeとabsoluteを使って色々やってみたのですが埒が明きません
「swiper」は画像のURL以外デフォルトのままです

詳しい方がいらっしゃりましたら御教示下さいm(__)m

html

1 <div class="swiper-container"> 2 <!-- メイン表示部分 --> 3 <div class="swiper-wrapper"> 4 <div class"header">文字文字文字文字</div> 5 <!-- 各スライド --> 6 <div class="swiper-slide"><img src="images/1.jpg" alt=""></div> 7 <div class="swiper-slide"><img src="images/2.jpg" alt=""></div> 8 <div class="swiper-slide"><img src="images/3.jpg" alt=""></div> 9 </div> 10 <div class="swiper-button-prev"></div> 11 <div class="swiper-button-next"></div> 12 <div class="swiper-pagination"></div> 13 </div>

css

1.swiper-wrapper{ 2 position:relative; 3} 4 5.header{ 6 position:absolute; 7 width:100%; 8 height:100%; 9 top:50%; 10 left:50%; 11 transform: translateX(-50%); 12 transform: translateY(-50%); 13 color:black; 14 z-index:2; 15 background-color:white; 16} 17

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

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

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

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

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

x_x

2019/06/07 05:42

いろいろの部分は書けませんか?
tanakashouzoux

2019/06/07 05:48

ご指摘ありがとうございます。 編集させて頂きましたm(__)m
guest

回答1

0

ベストアンサー

.swiper-wrapper 内に置くと Swiper 制御下に入り表示位置が変わってしまうので外に出しましょう。
.swiper-container には最初から position: relative; があるのでここにスタイルの追加はいらないです。

HTML

1<div class="swiper-container"> 2 <!-- =を忘れずに --> 3 <div class="header">文字文字文字文字</div>

投稿2019/06/07 06:07

x_x

総合スコア13749

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

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

tanakashouzoux

2019/06/07 06:18

わざわざご返信ありがとうございます! さらにはミスの指摘までありがとうございますm(__)m 一人でプログラミング勉強しているのでご指摘ありがたいです! <div class="swiper-container"> の直下に <div class="header">文字文字文字文字</div> を書くだけでcss等は変えなくても大丈夫でしょうか?
x_x

2019/06/07 06:33

細かいことを言えば .header のほうは transformが上書きされてしまっているので transform: translate(-50%, -50%); として、width / height は不要でしょう。
uemaSR

2019/06/07 06:37

横から失礼します。 cssですが、 transformが2回書かれてるので、最初のが上書きされてるかもしれないです。 まとめて書く場合はこうです。 transform: translate(-50%, -50%);
tanakashouzoux

2019/06/07 06:38

何度もありがとうございます! 「.header のほうは transformが上書きされてしまっている」とはどういうことなのでしょうか? 御教示頂ければありがたいです 御教示頂いた通りwidth / heightは削除してtransform: translate(-50%, -50%);を追加してみたのですが画面の中央ら辺には来たのですが若干右にずれてしまっています 何か対処法はございますでしょうか? 使っているブラウザはchromeです
tanakashouzoux

2019/06/07 06:48

uemaSRさんコメントありがとうございます! 早速消させて頂きました!
x_x

2019/06/07 06:52

ここまでの修正分を入れるとずれている感じはしないのですが、Swiper 外の影響もあるかと思うのでデベロッパーツールでそれぞれどこに配置されているか、修正分が反映されているか確認してみてはどうでしょうか
tanakashouzoux

2019/06/07 07:35

確認したのですがやっぱりずれてしまいます???? デベロッパーツールでも確認してみたのですがheaderのブロックの左端がド真ん中に来ていて、文字がそこから始まっているのでずれた感じになっているようです。 文章の中央がド真ん中に来て欲しいのですが・・・
x_x

2019/06/07 07:37

修正分が反映されているか確認しましたか? つまり transform: translate(-50%, -50%) ではないのではないかと思います
tanakashouzoux

2019/06/07 07:39

transform: translate(-50%, -50%); を加えてみたのですがこれは加えなくていいという事でしょうか? 頭が悪くてすいませんm(__)m
x_x

2019/06/07 07:41

ツールで<div class="header">を選んだ状態のスクリーンショットを載せてもらってもいいですか?
tanakashouzoux

2019/06/07 07:52

ありがとうございます! 画像貼らせて頂きました! 「選んだ状態のスクリーンショット」はどうやって撮るのでしょうか????? すいませんがご教示頂けると助かりますm(__)m
x_x

2019/06/07 08:01

ツールの Elements タブから選んで、その時の Styles の様子をとってください
tanakashouzoux

2019/06/07 08:09

ありがとうございます! 新しく画像を貼ったのですがこれでよろしいでしょうか?????
x_x

2019/06/07 08:14

やはり、 transform: translate(-50%, -50%); ではなく、 transform: translateY(-50%); となっていますね。 CSSの修正が反映されていないので確認してください。
tanakashouzoux

2019/06/07 08:21

あーーー!!! transform: translateX(-50%); transform: translateY(-50%); を消して transform: translate(-50%, -50%); にしたら上手くいきました!!!! 本当にありがとうございますm(__)m ちなみに 「transform: translateX(-50%); transform: translateY(-50%);」 と 「transform: translate(-50%, -50%);」 は違うものなのでしょうか? 私は全く同じもので書き方が違うだけなのか思っていました・・・
x_x

2019/06/07 08:34

uemaSRさんも指摘していますが、前者は同じ transform というプロパティが二度出てくるので前のが無効になっています。
tanakashouzoux

2019/06/07 09:01

ご丁寧にありがとうございますm(__)m ということは transform: translateX(-50%); transform: translateY(-50%); という書き方は出来ないのでしょうか? 私は 「transform: translateX(-50%); transform: translateY(-50%);」 が 「transform: translate(-50%, -50%);」を分けて書いたものだと思っていたのですがXとYで分けて書くことは間違いなのでしょうか?
tanakashouzoux

2019/06/07 09:02

正しくは 「transform: translateY(-50%) translateX(-50%);」 または 「transform: translate(-50%, -50%);」 という事なのでしょうか?
x_x

2019/06/07 09:21

同じプロパティを二度書いたら後者のみ有効と覚えてください 後半はその通りです
tanakashouzoux

2019/06/07 09:26

長々とご丁寧にありがとうございます! お陰様で勉強が続けられそうです! 本当にありがとうございましたm(__)m
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問