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

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

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

BootstrapはウェブサイトデザインやUIのWebアプリケーションを素早く 作成する可能なCSSフレームワークです。 Twitter風のデザインを作成することができます。

HTML

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

CSS

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

Q&A

2回答

7500閲覧

画像を上半分だけ表示したい

temmi-com

総合スコア10

Bootstrap

BootstrapはウェブサイトデザインやUIのWebアプリケーションを素早く 作成する可能なCSSフレームワークです。 Twitter風のデザインを作成することができます。

HTML

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

CSS

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

2グッド

1クリップ

投稿2019/03/30 14:56

編集2019/04/02 01:39

前提・実現したいこと

画像を上半分だけ表示したい
高さも画像の半分にしたい

発生している問題・エラーメッセージ 

上半分だけにするにはどうすればいいかわからない

該当のソースコード

<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"> <div class="container"> <div class="row"> <div class="col"> <div class="card img-thumbnail"> <img src="https://unsplash.it/100/150?random"> <div class="card-body px-2 py-3"> <h5 class="card-title">タイトル</h5> <p class="card-text">コンテンツ コンテンツ コンテンツ コンテンツ</p> <p class="mb-0"><a href="#" class="btn btn-primary btn-sm">ボタン</a> <a href="#" class="btn btn-secondary btn-sm">ボタン</a></p> </div> </div> </div> <div class="col"> <div class="card img-thumbnail"> <img src="https://unsplash.it/200/400?random"> <div class="card-body px-2 py-3"> <h5 class="card-title">タイトル</h5> <p class="card-text">コンテンツ コンテンツ コンテンツ コンテンツ</p> <p class="mb-0"><a href="#" class="btn btn-primary btn-sm">ボタン</a> <a href="#" class="btn btn-secondary btn-sm">ボタン</a></p> </div> </div> </div> <div class="col"> <div class="card img-thumbnail"> <img src="https://unsplash.it/300/600?random"> <div class="card-body px-2 py-3"> <h5 class="card-title">タイトル</h5> <p class="card-text">コンテンツ コンテンツ コンテンツ コンテンツ</p> <p class="mb-0"><a href="#" class="btn btn-primary btn-sm">ボタン</a> <a href="#" class="btn btn-secondary btn-sm">ボタン</a></p> </div> </div> </div> </div> </div>

試したこと

高さを50%にしましたが画像を上半分にするできませんでした

object-fitを使って

img { object-fit: cover; object-position: 50% 0; }

としましたがscreeenサイズによりますが画像は半分になりませんでした

イメージ説明

ブラウザーはクロームです

補足情報(FW/ツールのバージョンなど)

ありません

A_O_A, s8_chu👍を押しています

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

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

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

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

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

s8_chu

2019/03/30 14:57

質問者さんの実現したいことをもう少し詳しく教えていただけませんか?
temmi-com

2019/03/30 23:28

すみません。書く直します。
y_waiwai

2019/03/30 23:49

質門は編集できます
m.ts10806

2019/03/31 00:46

やりたいことを書くだけでなく自身で試したことも記載してください(質問テンプレートは原則全項目を埋めましょう)
s8_chu

2019/03/31 12:43

質問者さんの記述したコードを質問文に追記していただけませんか?
m.ts10806

2019/03/31 13:12

提示されたコードは何をどう試した結果でしょうか? https://teratail.com/help/question-tips#questionTips1-2 また、「画像をimgタグで」なのか「実現できればimgタグでなくても構わない」どちらでしょうか。 具体的に書いてください(2回目ですが、質問テンプレートは原則全項目”自身で”埋めてください)
temmi-com

2019/03/31 13:16

imgタグで実現したいです。
guest

回答2

0

SVGにいれちゃう

HTML

1test 2<svg width="150" height="75"> 3<image xlink:href="https://placehold.jp/ff0000/00ffff/150x150.png?text=123" width="150" height="150" x="0" y="0" alt="123" /> 4</svg> 5test

js

js(jQuery)で自動化したバージョンです

javascript

1<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> 2<script> 3$(function(){ 4 $('.uehanbun').on('load',function(){ 5 var w=$(this).prop('width'); 6 var h=$(this).prop('height'); 7 var src=$(this).prop('src'); 8 var img=document.createElementNS('http://www.w3.org/2000/svg','image'); 9 img.setAttributeNS("http://www.w3.org/1999/xlink", "href",src); 10 img.setAttributeNS(null,"width",w); 11 img.setAttributeNS(null,"height",h); 12 img.setAttributeNS(null,"x","0"); 13 img.setAttributeNS(null,"y","0"); 14 var svg=document.createElementNS('http://www.w3.org/2000/svg', 'svg'); 15 svg.setAttributeNS(null,"width",w); 16 svg.setAttributeNS(null,"height",h/2); 17 $(this).after($(svg).append(img)).remove(); 18 }); 19}); 20</script> 21test 22<img src="https://placehold.jp/ff0000/00ffff/150x150.png?text=123" class="uehanbun"> 23test 24<img src="https://placehold.jp/00ff00/ff00ff/200x100.png?text=abc" class="uehanbun"> 25test 26

投稿2019/04/02 02:13

編集2019/04/02 02:41
yambejp

総合スコア114769

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

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

temmi-com

2019/04/02 02:16

SVGで高さを固定していますがこれは画像ごとに半分の高さを入れないといけないということでしょうか?
yambejp

2019/04/02 02:19

そうですね、でもスクリプトで処理すれば任意に指定しなくても できそうな気はします
temmi-com

2019/04/02 02:21

cssで行うは難しくjavascriptで処理する必要があるのですね。
yambejp

2019/04/02 02:39

追記しておきました クラス=uehanbunを入れておけば自動でコンバートしてくれます
guest

0

ほとんど丸投げなのでヒント回答のみです。

IEで効かないかもしれませんが、下記試してみては。

投稿2019/03/31 13:16

m.ts10806

総合スコア80850

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

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

temmi-com

2019/03/31 15:06

やり方がわかりません。object-fitをどうすればいいですか?
m.ts10806

2019/03/31 20:18

回答に提示した1つ目のリンクはobject-fitの仕様です。「こういう指定をすればこういうことができる」が書いてあります。 回答に提示した2つ目のリンクはobject-fitを使った検証記事です。「やり方の例」です。 まずはそれをヒントに色々やってみてください。 もし「トリミング」の意味が分からなければそれは単なる用語です。調べればすぐ出てきます。 ※object-fitも調べて出てきたものです
temmi-com

2019/04/02 00:39

object-fitのトリミングを試してみましたが画像を思うようにトリミングできません。 どうすればいいでしょうか・・・。
m.ts10806

2019/04/02 00:48

どのようなコード、結果になったのでしょうか。コードと画面キャプチャ、あと確認したブラウザを質問本文に追記してください。 object-positionなどで調整する必要はありそうです。
m.ts10806

2019/04/02 01:19

「スクリーンショット」と言った方が分かりますでしょうか WindowsではPrintScreenですね
temmi-com

2019/04/02 01:23

スクリーンショットのことでしたかわかりました。 画像のアップに時間がかかりそうなのですが現在で何かアドバイスが頂けたらぜひお願いしたいです。
m.ts10806

2019/04/02 01:33

jsfiddler見ましたが、上半分だけ出てるような。 表現があまり具体的でないと「人の感覚」に依存してしまうので、 結果を図示されたほうが良いかもしれません。
temmi-com

2019/04/02 01:40

画像をアップできました。画像のように同じ画像でも半分で切られる位置が違うので半分になっていないと思いました。 これは半分になっているのでしょうか?
m.ts10806

2019/04/02 01:49

.img-thumbnail の指定が効いていて画像がレスポンシブになっているからかと思います。 なので「50%」としていても画面幅に依存します。
temmi-com

2019/04/02 01:56

画面幅で高さが変わっても画像を半分にしたいのですがobject-fitでできますか?
m.ts10806

2019/04/02 02:17

フレームワークがどこで影響するかという観点では簡単ではないですが、いっそのこと上半分だけの画像を準備されるか、背景画像で対応されては
temmi-com

2019/04/02 02:29

関係ないかと思い省いてましたがホバーされると画像の全体が現われるようになっていて画像そのものを半分だけにするは難しく、背景にすると画像による具体的な高さを持たせられないので断念しています。 どうにかimgとcssでできないでしょうか?他の回答のコメントのようにjavascriptを使うしかないでしょうか?
m.ts10806

2019/04/05 01:26

JavaScriptによる対応は可能とは思います(おそらく簡単ではないです) 上半分だけの画像を準備するのが一番手っ取り早いです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

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

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

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問