<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>CSS アーカイブ - nyanblog ~にゃんぶろぐ~</title>
	<atom:link href="https://nyanblog2222.com/tag/css/feed/" rel="self" type="application/rss+xml" />
	<link>https://nyanblog2222.com/tag/css/</link>
	<description>ちょっとしたことを調べているよ</description>
	<lastBuildDate>Thu, 14 Nov 2024 08:46:11 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.7</generator>

<image>
	<url>https://nyanblog2222.com/wp-content/uploads/2021/09/cropped-favicon-32x32.png</url>
	<title>CSS アーカイブ - nyanblog ~にゃんぶろぐ~</title>
	<link>https://nyanblog2222.com/tag/css/</link>
	<width>32</width>
	<height>32</height>
</image> 
<atom:link rel="hub" href="https://pubsubhubbub.appspot.com"/><atom:link rel="hub" href="https://pubsubhubbub.superfeedr.com"/><atom:link rel="hub" href="https://websubhub.com/hub"/>	<item>
		<title>＜input type=&#8221;file&#8221;＞で読み込んだ画像を表示させよう【JavaScript】</title>
		<link>https://nyanblog2222.com/programming/javascript/1132/</link>
					<comments>https://nyanblog2222.com/programming/javascript/1132/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Fri, 05 Jun 2020 09:00:00 +0000</pubDate>
				<category><![CDATA[HTML/CSS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[input要素]]></category>
		<category><![CDATA[画像表示]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=1132</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/91.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" fetchpriority="high" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/91.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/91-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/91-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/91-768x402.png 768w" sizes="(max-width: 1280px) 100vw, 1280px" />前回は、＜input type = &#8220;file&#8221;＞で選択するボタンの装飾について説明しました。詳しくは、こちらをご覧ください。 今回はinput要素で読み込んだ画像を表示させてみようと思います。そ [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/1132/">＜input type=&#8221;file&#8221;＞で読み込んだ画像を表示させよう【JavaScript】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/91.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/91.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/91-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/91-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/91-768x402.png 768w" sizes="(max-width: 1280px) 100vw, 1280px" />
<p>前回は、＜input type = &#8220;file&#8221;＞で選択するボタンの装飾について説明しました。<br>詳しくは、こちらをご覧ください。</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog wp-block-embed-nyanblog"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/html-css/1102/" title="ファイルを選択するボタンの画像やスタイルを設定する方法＜input type=&quot;file&quot;＞" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/90-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/90-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/90-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/90-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/90-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">ファイルを選択するボタンの画像やスタイルを設定する方法＜input type="file"＞</div><div class="blogcard-snippet internal-blogcard-snippet">input要素において、「確認する」ボタンを でsrc属性に画像のパスを設定すると、「確認する」ボタンを画像に設定することができます。しかし、ファイルを選択するinput要素では、既にtype = &quot;file&quot;が設定されているため、少し工夫が必要になります！今回は選択ボタンの画像やスタイルの変更をいく...</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.06.03</div></div></div></div></a>
</div></figure>



<p><br>今回はinput要素で読み込んだ画像を表示させてみようと思います。<br>それでは、img要素とdiv要素それぞれのパターンでみていきましょう。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-2" checked><label class="toc-title" for="toc-checkbox-2">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">【サンプル1】img要素に出力</a></li><li><a href="#toc2" tabindex="0">【サンプル2】div要素に出力</a></li><li><a href="#toc3" tabindex="0">デモ</a></li><li><a href="#toc4" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">【サンプル1】img要素に出力</span></h2>



<p>まずは、img要素に出力してみます。<br>input要素、type=&#8221;file&#8221;では、<strong><span style="color:#b78d4a" class="has-inline-color">ファイルを選択後、onchangeのイベントが呼ばれます</span></strong>。<br>JavaScriptでは、<strong><span style="color:#b78d4a" class="has-inline-color">on(&#8220;change&#8221;, function())関数</span></strong>です。</p>



<p>HTMLではinput要素とimg要素を宣言します。</p>



<pre class="wp-block-code html"><code>&lt;input type="file" id="input1"/&gt;
&lt;img id="sample1"&gt;</code></pre>



<p>JavaScriptに1～4の内容を記述します。</p>



<p>1. ファイル選択後に呼ばれるイベントを記述<br>2. イベント内で画像ファイルの読み込みクラスを設定<br>3. 読み込みクラスの準備が終わったらimg要素のsrc属性に画像ファイルの情報を設定<br>4. 読み込んだ画像ファイルをURLに変換</p>



<pre class="wp-block-code javascript"><code>// 1. ファイル選択後に呼ばれるイベント
$("#input1").on("change", function (e) {

    // 2. 画像ファイルの読み込みクラス
    var reader = new FileReader();

    // 3. 準備が終わったら、id=sample1のsrc属性に選択した画像ファイルの情報を設定
    reader.onload = function (e) {
        $("#sample1").attr("src", e.target.result);
    }

    // 4. 読み込んだ画像ファイルをURLに変換
    reader.readAsDataURL(e.target.files&#91;0]);
});</code></pre>



<h2 class="wp-block-heading"><span id="toc2">【サンプル2】div要素に出力</span></h2>



<p>次はdiv要素に画像ファイルを出力してみます。<br>JavaScriptの記述方法も変えてみました。</p>



<p>先ほどと異なり、input要素の<strong><span style="color:#b78d4a" class="has-inline-color">onchange属性にOutputImage関数を設定</span></strong>しています。</p>



<pre class="wp-block-code html"><code>&lt;input type="file" id="input2" onchange="OutputImage(this);"/>
&lt;div id="sample2">&lt;/div></code></pre>



<p>JavaScriptではサンプル1と同様、ファイル読み込みクラスを使用して、画像を表示させます。<br>サンプル1と異なるのはImageクラスを使って、<strong><span style="color:#b78d4a" class="has-inline-color">heightとwidthの設定を追加</span></strong>しています。</p>



<p>1. input要素のonchange属性に関数を設定<br>2. イベント内で画像ファイルの読み込みクラスを設定<br>3. 読み込みクラスの準備が終わったら画像の情報を設定<br>4. Imageクラスに読み込んだ画像の情報を設定し、div要素に読み込んだ画像の縦・横のサイズを設定<br>5. backgroundスタイルを設定<br>6. 読み込んだ画像ファイルをURLに変換</p>



<pre class="wp-block-code javascript"><code>// 1. onchange属性に設定した関数
function OutputImage(target)
{
    // 2. ファイル読み込みクラス
    var reader = new FileReader();

    // 3. 読み込みクラスの準備が終わった後、画像の情報を設定
    reader.onload = function () {
        $sample2 = $("#sample2");

        // 4. Imageクラスを使ってdiv要素に画像のheightとwidthのサイズを設定
        img = new Image();
        img.src = this.result;
        img.onload = function() {
            $sample2.css("width", img.naturalWidth);
            $sample2.css("height", img.naturalHeight);
        }
        // 5. backgroundスタイルを設定
        $sample2.css("background", "url(" + this.result + ") center center / contain no-repeat");
    }
    // 6. 読み込んだ画像ファイルをURLに変換
    reader.readAsDataURL(target.files&#91;0]);
}</code></pre>



<h2 class="wp-block-heading"><span id="toc3">デモ</span></h2>



<p>こちらがサンプル1とサンプル2のデモです。<br>内容は一緒ですが、出力方法や要素がimgかdivであることが異なります。</p>



<style type="text/css">
        #demo > div {
margin: 1rem;
}

        #demo p {
margin: 0;
}

#demo input {
height: auto;
    padding: 0;
border: none;
}
    </style>

<div id="demo">
           
        <div>
            <p>サンプル1</p>
            <input type="file" id="input1">
            <img id="sample1">
        </div>
        
        <div>
            <p>サンプル2</p>
            <input type="file" id="input2" onchange="OutputImage(this);">
            <div id="sample2"></div>
        </div>
        
        </div>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
    <script type="text/javascript">
        $("#input1").on("change", function (e) {
            var reader = new FileReader();
            reader.onload = function (e) {
                $("#sample1").attr("src", e.target.result);
            }
            reader.readAsDataURL(e.target.files[0]);
        });
        
        function OutputImage(target)
        {
            var reader = new FileReader();
            reader.onload = function () {
                $sample2 = $("#sample2");
                img = new Image();
                img.src = this.result;
                img.onload = function() {
                    $sample2.css("width", img.naturalWidth);
                    $sample2.css("height", img.naturalHeight);
                }
                $sample2.css("background", "url(" + this.result + ") center center / contain no-repeat");
            }
            reader.readAsDataURL(target.files[0]);
        }
    </script>



<h2 class="wp-block-heading"><span id="toc4">まとめ</span></h2>



<p>今回はinput type=file要素で取得した画像ファイルを出力する方法を説明していきました。<br>divに関して、今回例で試してみただけなので、別の要素でも試してみてください。<br>次回は複数ファイルを読み込んで出力してみましょう。</p>



<p>本記事をご覧いただきありがとうございました。</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/1132/">＜input type=&#8221;file&#8221;＞で読み込んだ画像を表示させよう【JavaScript】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/javascript/1132/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>ファイルを選択するボタンの画像やスタイルを設定する方法＜input type=&#8221;file&#8221;＞</title>
		<link>https://nyanblog2222.com/programming/html-css/1102/</link>
					<comments>https://nyanblog2222.com/programming/html-css/1102/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Wed, 03 Jun 2020 09:00:00 +0000</pubDate>
				<category><![CDATA[HTML/CSS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[input要素]]></category>
		<category><![CDATA[ファイルを選択]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=1102</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/90.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/90.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/90-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/90-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/90-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />input要素において、「確認する」ボタンを ＜input type = &#8220;image&#8221;＞ でsrc属性に画像のパスを設定すると、「確認する」ボタンを画像に設定することができます。 しかし、ファイ [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/html-css/1102/">ファイルを選択するボタンの画像やスタイルを設定する方法＜input type=&#8221;file&#8221;＞</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/90.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/90.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/90-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/90-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/90-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>input要素において、「確認する」ボタンを ＜input type = &#8220;image&#8221;＞ でsrc属性に画像のパスを設定すると、「確認する」ボタンを画像に設定することができます。</p>



<p>しかし、ファイルを選択するinput要素では、既にtype = &#8220;file&#8221;が設定されているため、少し工夫が必要になります！<br>今回は選択ボタンの画像やスタイルの変更をいくつかの方法でご紹介します。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-4" checked><label class="toc-title" for="toc-checkbox-4">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">【サンプル1】ボタンを画像に設定する</a></li><li><a href="#toc2" tabindex="0">ボタンのスタイルを変更</a><ol><li><a href="#toc3" tabindex="0">【サンプル2】&lt;label&gt;で囲んでスタイルを設定</a></li><li><a href="#toc4" tabindex="0">【サンプル3】CSSとJavaScriptを使ってスタイルを変更</a></li></ol></li><li><a href="#toc5" tabindex="0">デモ</a></li><li><a href="#toc6" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">【サンプル1】ボタンを画像に設定する</span></h2>



<p>ボタンを画像にする方法について、<br>HTMLでは、<strong><span style="color:#b78d4a" class="has-inline-color">input要素をlabel要素</span></strong>で囲みます。</p>



<pre class="wp-block-code html"><code>&lt;label id="sample1"&gt;
   &lt;input type="file"/&gt;
&lt;/label&gt;</code></pre>



<p>CSSでlabel要素に画像を設定します。<br>他にもサイズやポインタなど、スタイルを変更しておきましょう。</p>



<p>デフォルトでinput要素はボタンが出力されるので、display: none; で表示を消しておきます。</p>



<p>また、hoverの疑似クラスで別の画像を設定しておくと、少し動きが出ますね。</p>



<pre class="wp-block-code css"><code><strong>#sample1</strong> {
    // サイズを設定
    height: 54px;
    width: 150px;

    // ボタンにする画像を設定
    background: url(../img/sample1.png) center center / contain no-repeat;

    // インラインボックスに設定
    display: inline-block;
    // マウスカーソルを当てた時、ポインタに設定
    cursor: pointer;
}

<strong>#sample1</strong>:hover {
    background: url(../img/sample1_hover.png) center center / contain no-repeat;
}

<strong>#sample1</strong> <strong>input</strong>{
    // デフォルトのinputは出力なし
    display: none;
}</code></pre>



<p>また、今回はサンプルなので簡単な画像なのですが、<br>この程度の画像の動きであればスタイルでも実現可能です。</p>



<h2 class="wp-block-heading"><span id="toc2">ボタンのスタイルを変更</span></h2>



<h3 class="wp-block-heading"><span id="toc3">【サンプル2】&lt;label&gt;で囲んでスタイルを設定</span></h3>



<p>先ほどの画像の設定と同様にinput要素をlabel要素で囲みます。</p>



<pre class="wp-block-code html"><code>&lt;label id="sample2">
   &lt;input type="file"/>
&lt;/label></code></pre>



<p>続いて、今度はlabel要素をCSSで設定していきます。</p>



<pre class="wp-block-code css"><code>#sample2 {
  position: relative;
  display: inline-block;
  padding: 0.25em 0.5em;
  text-decoration: none;
  background: #00BCD4;/*背景色*/
  color: #00BCD4;/*=背景色*/
  box-shadow: inset 0 2px 0 rgba(255,255,255,0.2);
  border-bottom: solid 2px #118e9e;
  border-radius: 4px;
  font-weight: bold;
  text-shadow: -1px -1px rgba(255, 255, 255, 0.44), 1px 1px rgba(0, 0, 0, 0.38);
  cursor: pointer;
}

#sample2:active {
  /*押したとき*/
  border-bottom: solid 2px #00BCD4;
  box-shadow: none;
  text-shadow: -1px -1px rgba(255, 255, 255, 0.3), 1px 1px rgba(0, 0, 0, 0.3);
}

#sample2 input{
    // デフォルトのinputは出力なし
    display: none;
}</code></pre>



<h3 class="wp-block-heading"><span id="toc4">【サンプル3】CSSとJavaScriptを使ってスタイルを変更</span></h3>



<p>次はdiv要素でボタンを作成し、CSSで装飾を付けます。<br>input要素はサンプル2と同様、出力しないようにします。</p>



<pre class="wp-block-code html"><code>&lt;div id="sample3">ファイルを選択&lt;/div>
&lt;input type="file" id="sample3_input"/></code></pre>



<pre class="wp-block-code css"><code>#sample3 {
    position: relative;
    display: inline-block;
    padding: 0.75em 1.25em;
    text-decoration: none;
    color: #FFF;
    background: #03A9F4;/*色*/
    border: solid 1px #0f9ada;/*線色*/
    border-radius: 4px;
    box-shadow: inset 0 1px 0 rgba(255,255,255,0.2);
    text-shadow: 0 1px 0 rgba(0,0,0,0.2);
    cursor: pointer;
}

#sample3:active {
    border: solid 1px #03A9F4;
    box-shadow: none;
    text-shadow: none;
}

#sample3 input{
    // デフォルトのinputは出力なし
    display: none;
}</code></pre>



<p>JavaScriptでdiv要素をクリックしたときに、input要素をクリックしたイベントを呼び出します。<br>今回はJQueryで記述しています。</p>



<pre class="wp-block-code javascript"><code>$(function () {
    $('#sample3').click(function() {
        $('#sample3_input').trigger('click');
    });
});</code></pre>



<h2 class="wp-block-heading"><span id="toc5">デモ</span></h2>



<p>今までのサンプルそれぞれのデモです。<br>ボタンをクリックするとダイアログが表示されますが、ファイルを選択しても何も起こりません。</p>



<style type="text/css">
#demo > div {
margin: 1rem;
}

        #demo p {
margin: 0;
}

#demo input {
height: auto;
    padding: 0;
border: none;
}

#sample1 {
height: 54px;
width: 150px;
background: url(https://nyanblog2222.com/wp-content/uploads/2020/06/sample1.png) center center / contain no-repeat;
display: inline-block;
cursor: pointer;
}

#sample1:hover {
background: url(https://nyanblog2222.com/wp-content/uploads/2020/06/sample1_hover.png) center center / contain no-repeat;
}

#sample1 input,
#sample2 input,
#sample3_input {
display: none;
}

#sample2 {
position: relative;
display: inline-block;
padding: 0.75em 1.25em;
text-decoration: none;
background: #fd9535;/*背景色*/
color: #d27d00;/*=背景色*/
box-shadow: inset 0 2px 0 rgba(255,255,255,0.2);
border-bottom: solid 2px #d27d00;
border-radius: 4px;
font-weight: bold;
text-shadow: -1px -1px rgba(255, 255, 255, 0.44), 1px 1px rgba(0, 0, 0, 0.38);
cursor: pointer;
}

#sample2:active {
border-bottom: solid 2px #fd9535;
box-shadow: none;
text-shadow: -1px -1px rgba(255, 255, 255, 0.3), 1px 1px rgba(0, 0, 0, 0.3);
}

#sample3 {
position: relative;
display: inline-block;
padding: 0.75em 1.25em;
text-decoration: none;
color: #FFF;
background: #03A9F4;/*色*/
border: solid 1px #0f9ada;/*線色*/
border-radius: 4px;
box-shadow: inset 0 1px 0 rgba(255,255,255,0.2);
text-shadow: 0 1px 0 rgba(0,0,0,0.2);
margin: 0;
cursor: pointer;
}

#sample3:active {
/*押したとき*/
border: solid 1px #03A9F4;
box-shadow: none;
text-shadow: none;
}

    </style>
   
    <div id="demo">
        <div>
            <p>デフォルト</p>
            <input type="file">
        </div>
           
        <div>
            <p>サンプル1</p>
            <label id="sample1">
                <input type="file">
            </label>
        </div>
        
        <div>
            <p>サンプル2</p>
            <label id="sample2">ファイルを選択
                <input type="file">
            </label>
        </div>
        
        <div>
            <p>サンプル3</p>
            <div id="sample3">ファイルを選択</div>
            <input type="file" id="sample3_input">
        </div>
        </div>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.2.4/jquery.min.js"></script>
    <script type="text/javascript">
        $(function () {
            $('#sample3').click(function() {
                $('#sample3_input').trigger('click');
            });
        });
    </script>



<h2 class="wp-block-heading"><span id="toc6">まとめ</span></h2>



<p>今回はinput要素でファイル選択ボタンのスタイルを変更や、画像の設定を行いました。</p>



<p>ぜひ色々試してみてくださいね！</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/html-css/1102/">ファイルを選択するボタンの画像やスタイルを設定する方法＜input type=&#8221;file&#8221;＞</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/html-css/1102/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【Bingo Game】JavaScriptでビンゴカードの作り方【サンプル】</title>
		<link>https://nyanblog2222.com/programming/javascript/1016/</link>
					<comments>https://nyanblog2222.com/programming/javascript/1016/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Sun, 31 May 2020 09:00:00 +0000</pubDate>
				<category><![CDATA[HTML/CSS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[Jquery]]></category>
		<category><![CDATA[ビンゴカード]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=1016</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/62.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/62.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/62-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/62-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/62-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />こんにちは。今回はJavaScriptを使ってビンゴカードを作成してみました。Jqueryも使用していますので、ご注意ください。 目次 HTMLの設定CSSの設定JavaScriptデモまとめ HTMLの設定 まずは、枠 [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/1016/">【Bingo Game】JavaScriptでビンゴカードの作り方【サンプル】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/62.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/62.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/62-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/62-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/62-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>こんにちは。今回はJavaScriptを使ってビンゴカードを作成してみました。Jqueryも使用していますので、ご注意ください。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-6" checked><label class="toc-title" for="toc-checkbox-6">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">HTMLの設定</a></li><li><a href="#toc2" tabindex="0">CSSの設定</a></li><li><a href="#toc3" tabindex="0">JavaScript</a></li><li><a href="#toc4" tabindex="0">デモ</a></li><li><a href="#toc5" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">HTMLの設定</span></h2>



<p>まずは、枠作りのHTMLからです。</p>



<p>ビンゴカードの枠と作成用のボタンを設定しています。</p>



<pre class="wp-block-code html"><code>&lt;div&gt;
    &lt;table id="bingo" cellspacing="10"&gt;
        &lt;tbody&gt;
            &lt;tr&gt;
                &lt;th&gt;B&lt;/th&gt;
                &lt;th&gt;I&lt;/th&gt;
                &lt;th&gt;N&lt;/th&gt;
                &lt;th&gt;G&lt;/th&gt;
                &lt;th&gt;O&lt;/th&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;td id="bi0"&gt;&lt;/td&gt;
                &lt;td id="bi1"&gt;&lt;/td&gt;
                &lt;td id="bi2"&gt;&lt;/td&gt;
                &lt;td id="bi3"&gt;&lt;/td&gt;
                &lt;td id="bi4"&gt;&lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;td id="bi5"&gt;&lt;/td&gt;
                &lt;td id="bi6"&gt;&lt;/td&gt;
                &lt;td id="bi7"&gt;&lt;/td&gt;
                &lt;td id="bi8"&gt;&lt;/td&gt;
                &lt;td id="bi9"&gt;&lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;td id="bi10"&gt;&lt;/td&gt;
                &lt;td id="bi11"&gt;&lt;/td&gt;
                &lt;td id="bi12"&gt;&lt;/td&gt;
                &lt;td id="bi13"&gt;&lt;/td&gt;
                &lt;td id="bi14"&gt;&lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;td id="bi15"&gt;&lt;/td&gt;
                &lt;td id="bi16"&gt;&lt;/td&gt;
                &lt;td id="bi17"&gt;&lt;/td&gt;
                &lt;td id="bi18"&gt;&lt;/td&gt;
                &lt;td id="bi19"&gt;&lt;/td&gt;
            &lt;/tr&gt;
            &lt;tr&gt;
                &lt;td id="bi20"&gt;&lt;/td&gt;
                &lt;td id="bi21"&gt;&lt;/td&gt;
                &lt;td id="bi22"&gt;&lt;/td&gt;
                &lt;td id="bi23"&gt;&lt;/td&gt;
                &lt;td id="bi24"&gt;&lt;/td&gt;
            &lt;/tr&gt;
        &lt;/tbody&gt;
    &lt;/table&gt;
    &lt;p id="button"&gt;&lt;input type="button" value="カード作成" id="bingo-create"&gt;&lt;/p&gt;
&lt;/div&gt;</code></pre>



<h2 class="wp-block-heading"><span id="toc2">CSSの設定</span></h2>



<p>ビンゴカードと作成ボタンのスタイルを設定しています。</p>



<pre class="wp-block-code css"><code><em>/* カード全体のスタイル */</em>
<strong>#bingo</strong>{
    width: 340px;
    margin: 0 auto;
}

<em>/* B I N G Oと番号のスタイル */</em>
<strong>#bingo</strong> <strong>th</strong>,
<strong>#bingo</strong> <strong>td</strong> {
    text-align: center;
    font-weight: normal;
}

<em>/* B I N G O の文字のスタイル */</em>
<strong>#bingo</strong> <strong>th</strong>{
    color: #B78D4A;
}

<em>/* 番号のスタイルを設定 */</em>
<strong>#bingo</strong> <strong>td</strong> {
    width: 60px;
    height: 55px;
    text-align: center;
    vertical-align: middle;
    
    border-radius: 1.5rem 1.5rem 0 0;
    color: #fff;
    background-color: #B78D4A;
    border: 2px solid #B78D4A;
}

<em>/* 番号をチェックした時に変更するクラス、スタイルを設定 */</em>
<strong>#bingo</strong> <strong>td</strong>.check {
    color: #B78D4A;
    background-color: #F0F0F0;
}

<em>/* 番号をマウスオーバーした時にポインタを指矢印に変更 */</em>
<strong>#bingo</strong> <strong>td</strong>:hover {
    cursor: pointer;
    cursor: hand;
}

<em>/* 作成ボタンのスタイル */</em>
<strong>p</strong><strong>#button</strong>{
    text-align: center;
}</code></pre>



<h2 class="wp-block-heading"><span id="toc3">JavaScript</span></h2>



<p>JavaScriptでカードの番号をランダムに設定する動きと、<br>番号をクリックした際にスタイルを変更するクラスをつけ外ししています。</p>



<pre class="wp-block-code"><code>$(<strong>function</strong> () {
    <strong>var</strong> make_col = <strong>function</strong> (base) {
        <strong>var</strong> arr = &#91;];
        <strong>for</strong>(<strong>var</strong> i=0; i&lt;15; i++) {
            arr.add(i);
        }
        <strong>var</strong> list = &#91;];
        <strong>for</strong> (<strong>var</strong> i = 1; i &lt;= 5; i++) {
            <em>// ランダムで値を取得</em>
            <strong>var</strong> a = parseInt(Math.random() * arr.length);
            list.push(arr&#91;a] + base);
            <em>// 数字を重複させないため、元々のリストから値を削除する</em>
            arr.splice(a, 1);
        }
        <strong>return</strong> list;
    };

    <strong>var</strong> make_table = <strong>function</strong> () {
        <em>// B列、I列...とそれぞれで5つの数字をランダムで取得</em>
        <strong>var</strong> col_b = make_col(1);
        <strong>var</strong> col_i = make_col(16);
        <strong>var</strong> col_n = make_col(31);
        <strong>var</strong> col_g = make_col(46);
        <strong>var</strong> col_o = make_col(61);
        
        <em>// 25個分の数字を格納できるtableに取ってきた列の数字を設定</em>
        <strong>var</strong> list = <strong>new</strong> Array(25);
        <strong>for</strong> (<strong>var</strong> i = 0; i &lt; 5; i++) {
            list&#91;i * 5 + 0] = col_b&#91;i];
            list&#91;i * 5 + 1] = col_i&#91;i];
            list&#91;i * 5 + 2] = col_n&#91;i];
            list&#91;i * 5 + 3] = col_g&#91;i];
            list&#91;i * 5 + 4] = col_o&#91;i];
        }
        <em>// 中心はfreeで固定</em>
        list&#91;12] = 'free';
        <strong>return</strong> list;
    };
    
    <em>// カード作成関数</em>
    <strong>var</strong> create_card = <strong>function</strong> () {
        <em>// 取ってきた数字が入ったtableをhtmlに出力する</em>
        <strong>var</strong> table = make_table();
        <strong>for</strong> (<strong>var</strong> i = 0; i &lt; table.length; i++) {
            $('#bi' + i).text(table&#91;i]);
        }
    };

    <em>// 初期化関数</em>
    <strong>var</strong> init = <strong>function</strong> () {
        create_card();
        
        <em>// チェック状態を外す</em>
        $('#bingo td').each(<strong>function</strong> () {
            $(<strong>this</strong>).removeClass('check');
        });
    };
    
    <em>// 初期</em>
    init();
    
    <em>// カード作成 ボタンをクリックすると、初期化</em>
    $('#bingo-create').click(<strong>function</strong> () {
        init();
    });
    
    <em>// 番号をクリックすると、スタイルを変更するクラスをつけ外しできる</em>
    $('#bingo td').click(<strong>function</strong> (){
        $(<strong>this</strong>).toggleClass('check');
    });
});</code></pre>



<h2 class="wp-block-heading"><span id="toc4">デモ</span></h2>



<p>こちらが作成したビンゴカードです。</p>



<p><strong><a class="link" href="https://nyanblog2222.com/demo/bingo1/" target="_blank">デモページはこちら<br><img loading="lazy" decoding="async" width="370" height="470" src="https://nyanblog2222.com/wp-content/uploads/2020/06/3506124f65b985a6ade8cea60d65888f.png" alt="" class="wp-image-1168" srcset="https://nyanblog2222.com/wp-content/uploads/2020/06/3506124f65b985a6ade8cea60d65888f.png 370w, https://nyanblog2222.com/wp-content/uploads/2020/06/3506124f65b985a6ade8cea60d65888f-236x300.png 236w" sizes="auto, (max-width: 370px) 100vw, 370px" /></a></strong><br></p>



<p><strong><span style="color:#b78d4a" class="has-inline-color">番号をクリックすると見た目が変更</span></strong>されます。<br>（押し間違い対策でもう一度番号をクリックすると元に戻ります。）<br>カードをリセットしたい場合は、<strong><span style="color:#b78d4a" class="has-inline-color">「カード変更」</span></strong>ボタンをクリックすると、初期化されます。</p>



<h2 class="wp-block-heading"><span id="toc5">まとめ</span></h2>



<p>今回はJavaScriptを使って、ビンゴカードを作成してみました。<br>列がそろったらBINGO！の表示を追加するのも面白いですね！<br>近いうちに試してみたいと思います。</p>



<p>次回の記事も良かったらご覧ください。</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog-にゃんぶろぐ wp-block-embed-nyanblog-にゃんぶろぐ"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/javascript/1194/" title="【Bingo Game】JavaScriptでビンゴゲームの作り方【サンプル】" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/63-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/63-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/63-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/63-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/63-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【Bingo Game】JavaScriptでビンゴゲームの作り方【サンプル】</div><div class="blogcard-snippet internal-blogcard-snippet">JSでビンゴマシンを作成してみましたのでサンプルコードをご紹介します。簡単にできて解説もついて分かりやすくしています。ビンゴカード作成の記事もありますので、良かったら見てみてください♪</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.06.09</div></div></div></div></a>
</div></figure>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/1016/">【Bingo Game】JavaScriptでビンゴカードの作り方【サンプル】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/javascript/1016/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【CSS】object-fit,object-positionのIE対応【object-fit-images】</title>
		<link>https://nyanblog2222.com/programming/javascript/965/</link>
					<comments>https://nyanblog2222.com/programming/javascript/965/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Wed, 27 May 2020 09:00:00 +0000</pubDate>
				<category><![CDATA[HTML/CSS]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[object-fit]]></category>
		<category><![CDATA[object-fit-images]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=965</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/89.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/89.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/89-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/89-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/89-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />前回まで、CSSのobject-fit、object-positionプロパティの使い方をご紹介しました。 ただし、前回までの記事でも記載したように、このプロパティはIEには対応しておらず、別途対応する必要があります。今 [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/965/">【CSS】object-fit,object-positionのIE対応【object-fit-images】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/89.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/89.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/89-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/89-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/89-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>前回まで、CSSの<strong><span style="color:#b78d4a" class="has-inline-color">object-fit、object-positionプロパティ</span></strong>の使い方をご紹介しました。</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog wp-block-embed-nyanblog"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/programming/html-css/884/" title="【CSS】object-fitの使い方【img要素の縦横比固定方法】" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/87-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/87-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/87-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/87-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/87-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【CSS】object-fitの使い方【img要素の縦横比固定方法】</div><div class="blogcard-snippet internal-blogcard-snippet">CSSに「object-fit」プロパティで「cover」を設定することにより、画像の縦横比を固定したまま指定サイズで画像を配置する方法を紹介します。他にも「object-fit」プロパティにてどのように配置するか設定することも可能。コピペで試せるサンプル付きなので、勉強にもどうぞ♪</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.05.24</div></div></div></div></a>
</div></figure>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog wp-block-embed-nyanblog"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/programming/html-css/928/" title="【CSS】object-positionの使い方【img要素の画像配置設定】" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/88-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/88-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/88-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/88-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/88-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【CSS】object-positionの使い方【img要素の画像配置設定】</div><div class="blogcard-snippet internal-blogcard-snippet">img要素などの置換要素に対して、コンテンツをどこに配置するかを設定する「object-position」プロパティを詳しく紹介します。コピペで試せるサンプル付きなので、勉強にもどうぞ♪</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.05.26</div></div></div></div></a>
</div></figure>



<p>ただし、前回までの記事でも記載したように、このプロパティはIEには対応しておらず、別途対応する必要があります。<br>今回はIEに対応させる<strong><span style="color:#b78d4a" class="has-inline-color">object-fit-images</span></strong>を使用して、<strong><span style="color:#b78d4a" class="has-inline-color">object-fit、object-positionプロパティを有効</span></strong>にできる方法を紹介していきます。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-8" checked><label class="toc-title" for="toc-checkbox-8">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">object-fit-imagesライブラリを有効にする</a><ol><li><a href="#toc2" tabindex="0">CDNを貼り付ける</a></li><li><a href="#toc3" tabindex="0">ダウンロードしたファイルを読み込む</a></li></ol></li><li><a href="#toc4" tabindex="0">img要素にクラスを追加</a></li><li><a href="#toc5" tabindex="0">CSSに”font-family”プロパティを設定</a></li><li><a href="#toc6" tabindex="0">JavaScriptの記述を追加</a></li><li><a href="#toc7" tabindex="0">処理結果</a></li><li><a href="#toc8" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">object-fit-imagesライブラリを有効にする</span></h2>



<p>まずは、object-fit-imagesライブラリを有効にしていきます。<br>方法は2つあり、<br>1つはCDNを読み込む方法。<br>もう1つはダウンロードしたファイルを読み込む方法。です。</p>



<h3 class="wp-block-heading"><span id="toc2">CDNを貼り付ける</span></h3>



<p>CDNとは、<strong><span style="color:#b78d4a" class="has-inline-color">「Content Delivery Network」</span></strong>の頭文字を取った略称で、<strong><span style="color:#b78d4a" class="has-inline-color">「コンテンツ配信ネットワーク」</span></strong>を指します。<br>簡単に言うと、<strong><span style="color:#b78d4a" class="has-inline-color">ネットワーク上に配置されているファイルにアクセスできる仕組み</span></strong>のことです。<br>この仕組みを使うとサーバの負荷を一部肩代わりしてくれるようになるため、レスポンスが早くなると言われています。</p>



<p>htmlにscript要素を使って、CDNを読み込ませます。</p>



<pre class="wp-block-code html"><code>&lt;script src="https://cdnjs.cloudflare.com/ajax/libs/object-fit-images/3.2.4/ofi.js"&gt;&lt;/script&gt;</code></pre>



<h3 class="wp-block-heading"><span id="toc3">ダウンロードしたファイルを読み込む</span></h3>



<p>こちらのサイトから<strong><span style="color:#b78d4a" class="has-inline-color">「Clone or download」</span></strong>をクリックしてダウンロードしてください。<br><a rel="noopener" class="link" href="https://github.com/bfred-it/object-fit-images" target="_blank">https://github.com/bfred-it/object-fit-images</a></p>



<p>ダウンロードしたファイルの中から<strong><span style="color:#b78d4a" class="has-inline-color">「ofi.js」</span></strong>ファイルを読み込む設定をhtmlのscript要素で設定します。</p>



<pre class="wp-block-code html"><code>&lt;script src="ofi.min.js"&gt;&lt;/script&gt;</code></pre>



<h2 class="wp-block-heading"><span id="toc4">img要素にクラスを追加</span></h2>



<p>object-fit、object-positionプロパティを使用するimg要素にクラスを追加します。<br><strong><span style="color:#b78d4a" class="has-inline-color">クラス名は任意で問題ない</span></strong>ので、既にクラスを指定している場合はそのクラスを使っても大丈夫です。</p>



<pre class="wp-block-code html"><code>&lt;img src="img/01.jpg" class="object-image"&gt;</code></pre>



<h2 class="wp-block-heading"><span id="toc5">CSSに”font-family”プロパティを設定</span></h2>



<p>2～5行目まではimgのサイズ設定と処理結果が分かりやすいように、背景色と境界線を設定しています。</p>



<p>7、8行目：object-fit、object-positionプロパティを設定しています。<br>10行目：IE用に<strong><span style="color:#b78d4a" class="has-inline-color">「font-family」プロパティ</span></strong>を設定します。値は7、8行目で設定した値と同じ値を設定します。</p>



<pre class="wp-block-code css"><code><strong>object-image</strong>{
    width: 400px;
    height: 300px;
    background-color: #999;
    border: 1px solid #666;

    object-fit: none;
    object-position: right;
    // IEのブラウザに対応
    font-family: 'object-fit: none; object-position: right;';
}</code></pre>



<p>10行目があれば、7、8行目は不要なのかも？と思い、試してみましたが、<strong><span style="color:#b78d4a" class="has-inline-color">object-fit、object-positionが反映されなかった</span></strong>ので、別々に記述が必要みたいです。</p>



<h2 class="wp-block-heading"><span id="toc6">JavaScriptの記述を追加</span></h2>



<p>htmlファイル内の&lt;/body&gt;の直前にscript要素を追加し、objectFitImages関数を呼び出します。</p>



<p>全てのimg要素に対応させる場合は引数なし。<br>任意のクラスに画像を対応させたい場合は引数に<strong><span style="color:#b78d4a" class="has-inline-color">「img.クラス名」</span></strong>を設定します。<br>※ クラス名のみでは、反映されないので、注意してください。</p>



<pre class="wp-block-code"><code>// 全てのimg要素に対応
&lt;script&gt;
    objectFitImages();
&lt;/script&gt;

// 指定のimg要素のクラスに対応
&lt;script&gt;
    objectFitImages('img.object-image');
&lt;/script&gt;</code></pre>



<h2 class="wp-block-heading"><span id="toc7">処理結果</span></h2>



<p>ここまで設定が終わりましたら、処理結果を見てみましょう。<br><strong><span style="color:#b78d4a" class="has-inline-color">このページをIEで開き</span></strong>、対応前と比較して<strong><span style="color:#b78d4a" class="has-inline-color">対応後ではobject-fitが効いていること</span></strong>を確認してみてください。<br>他のブラウザでは対応前と対応後では一緒の動きをしています。</p>



<p>object-fit-images対応前</p>



<style type="text/css">
    <!--
img.sample{
    width: 400px;
    height: 300px;

    /* imgのサイズを分かりやすくするため、background-color、
       borderを設定し、object-fitはnoneを設定しています。 */
    background-color: #999;
    border: 1px solid #666;
    object-fit: none;
    object-position: right;
}

    -->
</style>
    <img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2020/05/01.jpg" alt="object-fit-image確認" class="sample">



<p>object-fit-images対応後</p>



<script src="https://cdnjs.cloudflare.com/ajax/libs/object-fit-images/3.2.4/ofi.js"></script>
<style type="text/css">
    <!--
img.object-image{
    width: 400px;
    height: 300px;

    /* imgのサイズを分かりやすくするため、background-color、
       borderを設定し、object-fitはnoneを設定しています。 */
    background-color: #999;
    border: 1px solid #666;
    object-fit: none;
    object-position: right;
    font-family: 'object-fit: none; object-position: right;';
}

    -->
</style>
    <img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2020/05/01.jpg" alt="object-fit-image確認" class="object-image">

<script>
    objectFitImages('img.object-image');
</script>



<h2 class="wp-block-heading"><span id="toc8">まとめ</span></h2>



<p>いかがでしたでしょうか。<br>今回は「object-fit-imagesライブラリ」を使って、IEのブラウザにobject-fitを対応させてみました。<br><s>まだまだIEのブラウザは使用されているので、対応させて損はないと思います。</s><br>※<span class="bold-red"> 2022年6月15日でサポート終了予定</span></p>



<p>4つの簡単なステップで対応ができるので、良かったら試してみてください。</p>



<p>今回の記事が何かの参考になれば幸いです。<br>ご来訪ありがとうございました。それでは♪</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/javascript/965/">【CSS】object-fit,object-positionのIE対応【object-fit-images】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/javascript/965/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【CSS】object-positionの使い方【img要素の画像配置設定】</title>
		<link>https://nyanblog2222.com/programming/html-css/928/</link>
					<comments>https://nyanblog2222.com/programming/html-css/928/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Tue, 26 May 2020 09:00:00 +0000</pubDate>
				<category><![CDATA[HTML/CSS]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[img]]></category>
		<category><![CDATA[object-position]]></category>
		<category><![CDATA[置換要素]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=928</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/88.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/88.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/88-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/88-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/88-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />前回はCSSで「object-fit」プロパティを使って、img要素などの置換要素に対してコンテンツをどのようにはめ込むかを設定しました。よければこちらの記事もご覧になってください。 今回は置換要素に対して、コンテンツを [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/html-css/928/">【CSS】object-positionの使い方【img要素の画像配置設定】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/88.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/88.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/88-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/88-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/88-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>前回はCSSで<strong><span style="color:#b78d4a" class="has-inline-color">「object-fit」プロパティ</span></strong>を使って、img要素などの置換要素に対して<strong><span style="color:#b78d4a" class="has-inline-color">コンテンツをどのようにはめ込むか</span></strong>を設定しました。<br>よければこちらの記事もご覧になってください。</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog wp-block-embed-nyanblog"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/programming/html-css/884/" title="【CSS】object-fitの使い方【img要素の縦横比固定方法】" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/87-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/87-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/87-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/87-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/87-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【CSS】object-fitの使い方【img要素の縦横比固定方法】</div><div class="blogcard-snippet internal-blogcard-snippet">CSSに「object-fit」プロパティで「cover」を設定することにより、画像の縦横比を固定したまま指定サイズで画像を配置する方法を紹介します。他にも「object-fit」プロパティにてどのように配置するか設定することも可能。コピペで試せるサンプル付きなので、勉強にもどうぞ♪</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.05.24</div></div></div></div></a>
</div></figure>



<p>今回は置換要素に対して、<strong><span style="color:#b78d4a" class="has-inline-color">コンテンツをどこに配置するか</span></strong>を設定する<strong><span style="color:#b78d4a" class="has-inline-color">「object-position」プロパティ</span></strong>を詳しく紹介していきたいと思います。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-10" checked><label class="toc-title" for="toc-checkbox-10">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">object-positionプロパティ</a></li><li><a href="#toc2" tabindex="0">値の設定について</a></li><li><a href="#toc3" tabindex="0">サンプル</a></li><li><a href="#toc4" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">object-positionプロパティ</span></h2>



<p>このプロパティは<strong><span style="color:#b78d4a" class="has-inline-color">「iframe」</span></strong>、<strong><span style="color:#b78d4a" class="has-inline-color">「video」</span></strong>、<strong><span style="color:#b78d4a" class="has-inline-color">「img」</span></strong>など要素の中身（コンテンツ）を要素のどこに配置するか設定します。</p>



<p>先ほども説明あったようにコンテンツをどのようにはめ込むかは<strong><span style="color:#b78d4a" class="has-inline-color">「object-fit」プロパティ</span></strong>を設定します。</p>



<h2 class="wp-block-heading"><span id="toc2">値の設定について</span></h2>



<p>値はこのように設定することができます。<br><strong><span style="color:#b78d4a" class="has-inline-color">object-fit: [左右] [上下]</span></strong><br>初期値は真ん中の<strong><span style="color:#b78d4a" class="has-inline-color">&#8220;50% 50%&#8221;</span></strong>が設定されています。</p>



<p><strong><span style="color:#b78d4a" class="has-inline-color">[左右]</span></strong>：<strong><span style="color:#b78d4a" class="has-inline-color">left、right、center</span></strong><br>　　　もしくは　<strong><span style="color:#b78d4a" class="has-inline-color">left、right + 数値（単位付）</span></strong><br>　　　もしくは　<strong><span style="color:#b78d4a" class="has-inline-color">数値（単位付）のみ</span></strong><br><strong><span style="color:#b78d4a" class="has-inline-color">[上下]</span></strong>：<strong><span style="color:#b78d4a" class="has-inline-color">top、bottom、center</span></strong><br>　　　もしくは　<strong><span style="color:#b78d4a" class="has-inline-color">top、bottom + 数値（単位付）</span></strong><br>　　　もしくは　<strong><span style="color:#b78d4a" class="has-inline-color">数値（単位付）のみ</span></strong></p>



<p>※ デフォルトで50%がそれぞれ設定されているので、片方省略も可能<br>例：object-fit: right もしくは、object-fit: bottom など</p>



<p>設定値だけ見てもイメージが湧きにくいと思いますので、<br>次は実際にコードを記述して、結果を見てみましょう。</p>



<h2 class="wp-block-heading"><span id="toc3">サンプル</span></h2>



<p>それでは実際にソースコードを記述して配置を見てみましょう。<br>使用する画像はこちらです。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="320" height="240" src="https://nyanblog2222.com/wp-content/uploads/2020/05/01.jpg" alt="object-position サンプル画像" class="wp-image-895" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/01.jpg 320w, https://nyanblog2222.com/wp-content/uploads/2020/05/01-300x225.jpg 300w" sizes="auto, (max-width: 320px) 100vw, 320px" /></figure>



<pre class="wp-block-code html"><code>&lt;p&gt;右中央に表示&lt;/p&gt;
&lt;img src="img/01.jpg" class="right-center sample"&gt;

&lt;p&gt;中央下に表示&lt;/p&gt;
&lt;img src="img/01.jpg" class="center-bottom sample"&gt;

&lt;p&gt;左上に表示&lt;/p&gt;
&lt;img src="img/01.jpg" class="left-top sample"&gt;

&lt;p&gt;パーセント表記で設定（80%、20%）&lt;/p&gt;
&lt;img src="img/01.jpg" class="set-percentage1 sample"&gt;

&lt;p&gt;パーセント表記で設定（右から80%、下から20%）&lt;/p&gt;
&lt;img src="img/01.jpg" class="set-percentage2 sample"&gt;

&lt;p&gt;ピクセルで設定（50px、180px）&lt;/p&gt;
&lt;img src="img/01.jpg" class="set-pixel sample"&gt;</code></pre>



<pre class="wp-block-code css"><code><strong>img</strong>{
    width: 400px;
    height: 300px;

    // imgのサイズを分かりやすくするため、background-color、
    // borderを設定し、object-fitはnoneを設定しています。
    background-color: #999;
    border: 1px solid #666;
    object-fit: none;
}

// 右中央
.right-center{
    object-position: right;
}

// 中央下
.center-bottom{
    object-position: bottom;
}

// 左上
.left-top{
    object-position: left top;
}

// パーセントで値を設定（80%, 20%）
.set-percentage1{
    object-position: 80% 20%;
}

// パーセントで値を設定（右から80%、下から20%）
.set-percentage2{
    object-position: right 80% bottom 20%;
}

// ピクセルで値を設定（50<strong>px</strong>, 180<strong>px</strong>）
.set-pixel{
    object-position: 50px 180px;
}</code></pre>



<p>結果がこちらです。</p>



<style type="text/css">
    <!--
    img.sample{
        width: 400px;
        height: 300px;

        /* imgのサイズを分かりやすくするため、background-color、
           borderを設定し、object-fitはnoneを設定しています。 */
        background-color: #999;
        border: 1px solid #666;
        object-fit: none;
    }

    .right-center{
        object-position: right;
    }
    .center-bottom{
        object-position: bottom;
    }
    .left-top{
        object-position: left top;
    }
    .set-percentage1{
        object-position: 80% 20%;
    }
    .set-percentage2{
        object-position: right 80% bottom 20%;
    }
    .set-pixel{
        object-position: 50px 180px;
    }
    -->
</style>
<p>右中央に表示<br>
<img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2020/05/01.jpg" alt="object-position確認 右、中央" class="right-center sample"></p>
<p>中央下に表示<br>
    <img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2020/05/01.jpg" alt="object-position確認 中央、下" class="center-bottom sample"></p>
<p>左上に表示<br>
    <img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2020/05/01.jpg" alt="object-position確認 左、上" class="left-top sample"></p>
<p>パーセント表記で設定（80%、20%）<br>
    <img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2020/05/01.jpg" alt="object-position確認 パーセント設定" class="set-percentage1 sample"></p>
<p>パーセント表記で設定（右から80%、下から20%）<br>
    <img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2020/05/01.jpg" alt="object-position確認 パーセント設定" class="set-percentage2 sample"></p>
<p>ピクセルで設定（50px、180px）<br>
    <img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2020/05/01.jpg" alt="object-position確認 ピクセル設定" class="set-pixel sample"></p>



<p>最後の結果についてですが、img要素からはみ出ている部分は<strong><span style="color:#b78d4a" class="has-inline-color">出力されていない</span></strong>ことが分かります。<br>つまりimg要素の中で画像を配置しているので、img要素からはみ出ている<strong><span class="has-inline-color has-pale-pink-color">赤枠部分</span></strong>は表示されず、トリミングされています。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="402" height="449" src="https://nyanblog2222.com/wp-content/uploads/2020/05/473b1f50c2101c4ac7b2cf5eaef8328c.png" alt="トリミングされている箇所" class="wp-image-957" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/473b1f50c2101c4ac7b2cf5eaef8328c.png 402w, https://nyanblog2222.com/wp-content/uploads/2020/05/473b1f50c2101c4ac7b2cf5eaef8328c-269x300.png 269w" sizes="auto, (max-width: 402px) 100vw, 402px" /></figure>



<h2 class="wp-block-heading"><span id="toc4">まとめ</span></h2>



<p>今回は<strong><span style="color:#b78d4a" class="has-inline-color">「object-position」プロパティ</span></strong>をご紹介しました。<br>前回紹介した<strong><span style="color:#b78d4a" class="has-inline-color">「object-fit」プロパティ</span></strong>と合わせて使いこなしていきたいですね！</p>



<p>ただし、<strong><span style="color:#b78d4a" class="has-inline-color">「object-fit」プロパティ</span></strong>と同様<strong><span class="has-inline-color has-pale-pink-color">IEにはどのバージョンでも現時点（2020年5月）では対応できていません</span></strong>ので、別途IE対応が必要なのは一緒ですね。<br>IE対応する方法として<strong><span style="color:#b78d4a" class="has-inline-color">「object-fit-images」</span></strong>について以下の記事で紹介していますので、宜しければご覧ください♪</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog wp-block-embed-nyanblog"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/programming/javascript/965/" title="【CSS】object-fit,object-positionのIE対応【object-fit-images】" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/89-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/89-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/89-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/89-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/89-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【CSS】object-fit,object-positionのIE対応【object-fit-images】</div><div class="blogcard-snippet internal-blogcard-snippet">CSSのobject-fit、object-positionプロパティはIEに対応していません。なので、object-fit-imagesを使用して、IEに対応させる方法を紹介します！　object-fit、object-positionの使い方については前記事で触れていますので、良かったら一緒にどうぞ♪</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.05.27</div></div></div></div></a>
</div></figure>
<p>投稿 <a href="https://nyanblog2222.com/programming/html-css/928/">【CSS】object-positionの使い方【img要素の画像配置設定】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/html-css/928/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title>【CSS】object-fitの使い方【img要素の縦横比固定方法】</title>
		<link>https://nyanblog2222.com/programming/html-css/884/</link>
					<comments>https://nyanblog2222.com/programming/html-css/884/#respond</comments>
		
		<dc:creator><![CDATA[nyan2222]]></dc:creator>
		<pubDate>Sun, 24 May 2020 09:09:11 +0000</pubDate>
				<category><![CDATA[HTML/CSS]]></category>
		<category><![CDATA[プログラミング]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[img]]></category>
		<category><![CDATA[object-fit]]></category>
		<category><![CDATA[置換要素]]></category>
		<guid isPermaLink="false">https://nyanblog2222.com/?p=884</guid>

					<description><![CDATA[<p><img src="https://nyanblog2222.com/wp-content/uploads/2022/11/87.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/87.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/87-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/87-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/87-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />画像の縦横比を固定する方法で、cssに「object-fit」プロパティで「cover」を設定することにより、画像の縦横比を固定したまま指定のサイズで画像を配置することができます。他にも「object-fit」プロパティ [&#8230;]</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/html-css/884/">【CSS】object-fitの使い方【img要素の縦横比固定方法】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></description>
										<content:encoded><![CDATA[<img src="https://nyanblog2222.com/wp-content/uploads/2022/11/87.png" class="attachment-post-thumbnail size-post-thumbnail wp-post-image" alt="" decoding="async" loading="lazy" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/87.png 1280w, https://nyanblog2222.com/wp-content/uploads/2022/11/87-300x157.png 300w, https://nyanblog2222.com/wp-content/uploads/2022/11/87-1024x536.png 1024w, https://nyanblog2222.com/wp-content/uploads/2022/11/87-768x402.png 768w" sizes="auto, (max-width: 1280px) 100vw, 1280px" />
<p>画像の縦横比を固定する方法で、cssに<strong><span style="color:#b78d4a" class="has-inline-color">「object-fit」プロパティ</span></strong>で<strong><span style="color:#b78d4a" class="has-inline-color">「cover」</span></strong>を設定することにより、<strong><span style="color:#b78d4a" class="has-inline-color">画像の縦横比を固定したまま</span></strong>指定のサイズで画像を配置することができます。<br>他にも<strong><span style="color:#b78d4a" class="has-inline-color">「object-fit」プロパティ</span></strong>を使うことで、どのように配置するか設定することができます。</p>



<p>今回は<strong><span style="color:#b78d4a" class="has-inline-color">「object-fit」プロパティ</span></strong>の使い方と設定値の内容を詳しく紹介していきたいと思います。</p>




  <div id="toc" class="toc tnt-number toc-center tnt-number border-element"><input type="checkbox" class="toc-checkbox" id="toc-checkbox-12" checked><label class="toc-title" for="toc-checkbox-12">目次</label>
    <div class="toc-content">
    <ol class="toc-list open"><li><a href="#toc1" tabindex="0">object-fitプロパティ</a></li><li><a href="#toc2" tabindex="0">値の設定について</a></li><li><a href="#toc3" tabindex="0">サンプル</a></li><li><a href="#toc4" tabindex="0">まとめ</a></li></ol>
    </div>
  </div>

<h2 class="wp-block-heading"><span id="toc1">object-fitプロパティ</span></h2>



<p>このプロパティは置換要素である、<strong><span style="color:#b78d4a" class="has-inline-color">「iframe」</span></strong>、<strong><span style="color:#b78d4a" class="has-inline-color">「video」</span></strong>、<strong><span style="color:#b78d4a" class="has-inline-color">「img」</span></strong>など要素の中身（コンテンツ）をどのようにはめ込むかを設定します。</p>



<p>また、コンテンツをどのように配置するかは<strong><span style="color:#b78d4a" class="has-inline-color">「object-position」プロパティ</span></strong>を使用します。</p>



<h2 class="wp-block-heading"><span id="toc2">値の設定について</span></h2>



<p>object-fitプロパティは複数の値を設定することができます。<br>設定の内容を表にまとめてみました。<br>要素=img、コンテンツ=画像を見立てると、分かりやすいと思います。</p>



<figure class="wp-block-table">
    <table>
        <tbody>
            <tr>
                <th width="20%" class="text-aline-center">値</th>
                <th class="text-aline-center">説明</th>
            </tr>
            <tr>
                <th>contain</th>
                <td>コンテンツは<strong class="brown_color">アスペクト比が固定されたまま</strong>、要素のサイズに収まるように表示されます。<br>要素とコンテンツのアスペクト比が合わない場合、<strong class="brown_color">要素の一部分がレターボックス表示</strong>になります。※ 要は何も表示されません。</td>
            </tr>
            <tr>
                <th>cover</th>
                <td>コンテンツは<strong class="brown_color">アスペクト比が固定されたまま</strong>、要素のサイズに収まるように表示されます。<br>要素とコンテンツのアスペクト比が合わない場合、<strong class="brown_color">コンテンツが合わせるようにトリミング</strong>されます。</td>
            </tr>
            <tr>
                <th>fill</th>
                <td>コンテンツが<strong class="brown_color">要素を満たして表示</strong>されます。<br>要素とコンテンツのアスペクト比が合わない場合、要素の大きさに合わせて<strong class="brown_color">コンテンツが引き延ばされ</strong>ます。</td>
            </tr>
            <tr>
                <th>none</th>
                <td>コンテンツは拡大も縮小もされず、そのまま表示されます。</td>
            </tr>
            <tr>
                <th>scale-down</th>
                <td>コンテンツは<strong class="brown_color">「none」</strong>または<strong class="brown_color">「contain」</strong>どちらかを指定した状態で、コンテンツが要素よりも小さい場合は<strong class="brown_color">「none」</strong>として表示されます。</td>
            </tr>
        </tbody>
    </table>
</figure>



<h2 class="wp-block-heading"><span id="toc3">サンプル</span></h2>



<p>それでは実際に試してみましょう。<br>使用するのは、こちらの画像です。</p>



<figure class="wp-block-image size-large"><img loading="lazy" decoding="async" width="320" height="240" src="https://nyanblog2222.com/wp-content/uploads/2020/05/01.jpg" alt="object-fit　サンプル画像" class="wp-image-895" srcset="https://nyanblog2222.com/wp-content/uploads/2020/05/01.jpg 320w, https://nyanblog2222.com/wp-content/uploads/2020/05/01-300x225.jpg 300w" sizes="auto, (max-width: 320px) 100vw, 320px" /></figure>



<p>さっそく、HTMLとCSSを設定してみましょう。</p>



<pre class="wp-block-code html"><code>&lt;p&gt;cover&lt;/p&gt;
&lt;img src="img/01.jpg" class="cover"&gt;

&lt;p&gt;contain&lt;/p&gt;
&lt;img src="img/01.jpg" class="contain"&gt;

&lt;p&gt;fill&lt;/p&gt;
&lt;img src="img/01.jpg" class="fill"&gt;

&lt;p&gt;none&lt;/p&gt;
&lt;img src="img/01.jpg" class="none"&gt;

&lt;p&gt;scale-down&lt;/p&gt;
&lt;img src="img/01.jpg" class="scale-down"&gt;</code></pre>



<pre class="wp-block-code css"><code><strong>img</strong>{
    width: 180px;
    height: 60px;

    // 左端に寄せてサイズを見やすくしたかったので、設定
    object-position: left;

    // imgのサイズを分かりやすくするため、background-colorを設定
    background-color: #999;
}

.cover {
    object-fit: cover;
}

.contain {
    object-fit: contain;
}

.fill {
    object-fit: fill;
}

.none {
    object-fit: none;
}

.scale-down {
    object-fit: scale-down;
}</code></pre>



<p>結果がこちらです。</p>



<style type="text/css">
    <!--
    img.sample{
        width: 180px;
        height: 80px;
        object-position: left;
        margin-bottom: 0;
        background-color: #999;
    }

    .cover {
        object-fit: cover;
    }

    .contain {
        object-fit: contain;
    }

    .fill {
        object-fit: fill;
    }

    .none {
        object-fit: none;
    }

    .scale-down {
        object-fit: scale-down;
    }
    -->
</style>
<p>cover<br>縦横比そのまま、画像の上下トリミング<br>
<img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2020/05/01.jpg" alt="object-fit確認 キーワードcover" class="cover sample"></p>
<p>contain<br>縦横比そのまま、要素の右側が空いた状態<br>
    <img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2020/05/01.jpg" alt="object-fit確認 キーワードcontain" class="contain sample"></p>
<p>fill<br>画像全体をimg要素のサイズに合わせて表示。<br>画像が押しつぶされたような見た目。<br>
    <img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2020/05/01.jpg" alt="object-fit確認 キーワードfill" class="fill sample"></p>
<p>none<br>画像をimg要素のサイズに合わせて一部分切り取っている。<br>
    <img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2020/05/01.jpg" alt="object-fit確認 キーワードnone" class="none sample"></p>
<p>scale-down<br>このサンプルでは、containが適用されています。<br>
    <img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2020/05/01.jpg" alt="object-fit確認 キーワードscale-down" class="scale-down sample"></p>



<p>このように値<strong><span style="color:#b78d4a" class="has-inline-color">「contain」「cover」「none」「scale-down」</span></strong>を使えばアスペクト比を変わらずコンテンツを設定することができます。<br>状況に応じて使ってみてください。</p>



<p>ただし、このプロパティは残念ながら<strong><span class="has-inline-color has-pale-pink-color">IEには対応しておりません</span></strong>。<br>また、このプロパティを対応させるためには、cssかHTMLの属性で<strong><span class="has-inline-color has-pale-pink-color">サイズを設定する</span></strong>必要があります。<br><strong><span style="color:#b78d4a" class="has-inline-color">object-fitプロパティが対応されていない！</span></strong>状況に陥りましたら、まずはサイズが設定されているかを確認してみてください。</p>



<h2 class="wp-block-heading"><span id="toc4">まとめ</span></h2>



<p>今回はobject-fitプロパティの使い方をご紹介しました。<br>要素のサイズさえ指定できれば値の設定も簡単なので、使いやすいかと思います。</p>



<p>ただ、先述しましたようにIEでは、現在（2020年5月）使用することができません。別途対策が必要になりますね！<br>IE対応する方法として<strong><span style="color:#b78d4a" class="has-inline-color">「object-fit-images」</span></strong>について以下の記事で紹介していますので、宜しければご覧ください♪</p>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog wp-block-embed-nyanblog"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/programming/javascript/965/" title="【CSS】object-fit,object-positionのIE対応【object-fit-images】" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/89-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/89-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/89-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/89-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/89-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【CSS】object-fit,object-positionのIE対応【object-fit-images】</div><div class="blogcard-snippet internal-blogcard-snippet">CSSのobject-fit、object-positionプロパティはIEに対応していません。なので、object-fit-imagesを使用して、IEに対応させる方法を紹介します！　object-fit、object-positionの使い方については前記事で触れていますので、良かったら一緒にどうぞ♪</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.05.27</div></div></div></div></a>
</div></figure>



<figure class="wp-block-embed is-type-wp-embed is-provider-nyanblog wp-block-embed-nyanblog"><div class="wp-block-embed__wrapper">

<a href="https://nyanblog2222.com/programming/html-css/928/" title="【CSS】object-positionの使い方【img要素の画像配置設定】" class="blogcard-wrap internal-blogcard-wrap a-wrap cf"><div class="blogcard internal-blogcard ib-left cf"><div class="blogcard-label internal-blogcard-label"><span class="fa"></span></div><figure class="blogcard-thumbnail internal-blogcard-thumbnail"><img decoding="async" src="https://nyanblog2222.com/wp-content/uploads/2022/11/88-160x90.png" class="blogcard-thumb-image internal-blogcard-thumb-image wp-post-image" alt="" srcset="https://nyanblog2222.com/wp-content/uploads/2022/11/88-160x90.png 160w, https://nyanblog2222.com/wp-content/uploads/2022/11/88-120x68.png 120w, https://nyanblog2222.com/wp-content/uploads/2022/11/88-320x180.png 320w, https://nyanblog2222.com/wp-content/uploads/2022/11/88-376x212.png 376w" sizes="(max-width: 160px) 100vw, 160px" /></figure><div class="blogcard-content internal-blogcard-content"><div class="blogcard-title internal-blogcard-title">【CSS】object-positionの使い方【img要素の画像配置設定】</div><div class="blogcard-snippet internal-blogcard-snippet">img要素などの置換要素に対して、コンテンツをどこに配置するかを設定する「object-position」プロパティを詳しく紹介します。コピペで試せるサンプル付きなので、勉強にもどうぞ♪</div></div><div class="blogcard-footer internal-blogcard-footer cf"><div class="blogcard-site internal-blogcard-site"><div class="blogcard-favicon internal-blogcard-favicon"><img loading="lazy" decoding="async" src="https://www.google.com/s2/favicons?domain=https://nyanblog2222.com" alt="" class="blogcard-favicon-image internal-blogcard-favicon-image" width="16" height="16" /></div><div class="blogcard-domain internal-blogcard-domain">nyanblog2222.com</div></div><div class="blogcard-date internal-blogcard-date"><div class="blogcard-post-date internal-blogcard-post-date">2020.05.26</div></div></div></div></a>
</div></figure>



<p>また、こちらの記事も良かったら覗いてみてください♪</p>
<p>投稿 <a href="https://nyanblog2222.com/programming/html-css/884/">【CSS】object-fitの使い方【img要素の縦横比固定方法】</a> は <a href="https://nyanblog2222.com">nyanblog ~にゃんぶろぐ~</a> に最初に表示されました。</p>
]]></content:encoded>
					
					<wfw:commentRss>https://nyanblog2222.com/programming/html-css/884/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
