Quantcast
Channel: CSSタグが付けられた新着記事 - Qiita
Viewing all 8501 articles
Browse latest View live

Yハロトレ17日目

$
0
0

CSS

CSSの優先順位

priority2.png

<divclass="content"><p>こうした植物は「海浜植物」と呼ばれ、</p><pclass="deco">ところどころに顔を出す緑色の小さな葉っぱは、おもしろいですよ。 。</p>
.contentp{line-height:1.5;margin-bottom:20px;}.content.deco{/*.decoだとmargin-bottomが効かない*/margin-bottom:40px;}

ショートハンドの注意点

shorthand2.png

.containerとbackground-color

.containerは中に入れる2.png

名前を変えて保存でprofile.htmlを保存

名前を変えて保存2.png

スマートフォンサイトとPCサイト

sp-pc.gif

max-width

ブロック要素を可変にします。(%)
max-width.png

font-awesome

font-awesomeとは、ウェブサイトでアイコンを表示できるようにしてくれるサービスです。
barbtn2.png

<!--headに記述--><head><linkrel="stylesheet"href="https://use.fontawesome.com/releases/v5.6.3/css/all.css"></head><!--button--><divclass="btn"><iclass="fas fa-bars fa-lg"></i></div>

display

display2.png

position/cover

keyvis2.png


【scss】【header】【jQuery】ドロワーメニュー コンポーネント

$
0
0

※自分用メモです

① PC時アイコン+メニュー スマホ時アイコン+ドロワーメニュー(left,right,top,bottom4方向対応)

スクリーンショット 2020-09-08 17.19.45.png
スクリーンショット 2020-09-08 17.19.59.png
スクリーンショット 2020-09-08 17.20.08.png

<!--### header --><divid="headerWrapper"class="headerWrapper"><divclass="inner headerFlexWrapper"><pclass="headerIconWrapper d-block d-lg-none"><imgclass="headerIcon"src="http://blog-imgs-61.fc2.com/n/a/n/nanjcamp/20130531171641.jpg"alt=""></p><pid="toggleButtonWrapper"class="toggleButtonWrapper"><spanclass="toggleButton"></span><spanclass="toggleButton"></span><spanclass="toggleButton"></span></p></div><navid="global_nav"class="global_nav inner"><pclass="headerIconWrapper  d-none d-lg-block"><imgclass="headerIcon"src="http://blog-imgs-61.fc2.com/n/a/n/nanjcamp/20130531171641.jpg"alt=""></p><ulclass="headrMenu"><liclass="headrMenuItem descriptionMd"><ahref="#">※トップ</a></li><liclass="headrMenuItem descriptionMd"><ahref="#">※概要</a></li><liclass="headrMenuItem descriptionMd"><ahref="#">※特集</a></li><liclass="headrMenuItem descriptionMd"><ahref="#">※アクセス</a></li><liclass="headrMenuItem descriptionMd"><ahref="#">※お問い合わせ</a></li></ul></nav></div><!--End header -->
.headerWrapper{background-color:cyan;height:56px;//headerの高さを調整position:fixed;//画面上部で固定する場合width:100%;}.headerFlexWrapper{display:flex;justify-content:space-between;//PC時アイコンとメニューを左右端寄せalign-items:center;//高さ中央寄せ}.headerIconWrapper{width:56px;height:56px;//headerの高さと合わせる}.headerIcon{height:100%;width:100%;object-fit:contain;}.global_nav{display:flex;justify-content:space-between;$drower_Menu_Width:300px;//ドロワーメニューwidth設定(px,%)$drower_Menu_Direction:right;//ドロワーメニューが出てくる方向の位置設定(left,right,top,bottom)@includemq('tab_sm'){position:fixed;//初期位置を固定padding-top:50px;background:#333;z-index:2;//headerを手前に見せるtransition:all400ms;//アニメーション設定@if$drower_Menu_Direction==leftor$drower_Menu_Direction==right{top:0;//上合わせ#{$drower_Menu_Direction}:-$drower_Menu_Width;width:$drower_Menu_Width;height:100%;//高さは画面いっぱいに}@elseif$drower_Menu_Direction==topor$drower_Menu_Direction==bottom{#{$drower_Menu_Direction}:-100%;width:$drower_Menu_Width;height:100%;//高さは画面いっぱいに// right: 0;//右側から出したい場合}&.open{#{$drower_Menu_Direction}:0px;transition:all400ms;//アニメーション設定}}@includemq('sp_lg'){position:fixed;//初期位置を固定padding-top:50px;background:#333;z-index:2;//headerを手前に見せるtransition:all400ms;//アニメーション設定@if$drower_Menu_Direction==leftor$drower_Menu_Direction==right{top:0;//上合わせ#{$drower_Menu_Direction}:-$drower_Menu_Width;width:$drower_Menu_Width;height:100%;//高さは画面いっぱいに}@elseif$drower_Menu_Direction==topor$drower_Menu_Direction==bottom{#{$drower_Menu_Direction}:-100%;width:$drower_Menu_Width;height:100%;//高さは画面いっぱいに// right: 0;//右側から出したい場合}&.open{#{$drower_Menu_Direction}:0px;transition:all400ms;//アニメーション設定}}@includemq('sp_sm'){position:fixed;//初期位置を固定padding-top:50px;background:#333;z-index:2;//headerを手前に見せるtransition:all400ms;//アニメーション設定@if$drower_Menu_Direction==leftor$drower_Menu_Direction==right{top:0;//上合わせ#{$drower_Menu_Direction}:-$drower_Menu_Width;width:$drower_Menu_Width;height:100%;//高さは画面いっぱいに}@elseif$drower_Menu_Direction==topor$drower_Menu_Direction==bottom{#{$drower_Menu_Direction}:-100%;width:$drower_Menu_Width;height:100%;//高さは画面いっぱいに// right: 0;//右側から出したい場合}&.open{#{$drower_Menu_Direction}:0px;transition:all400ms;//アニメーション設定}}}.headrMenu{display:flex;justify-content:flex-end;//PC時右よせ@includemq('tab_sm'){display:block;//タブレット以下flex解除width:100%;}@includemq('sp_lg'){display:block;width:100%;}@includemq('sp_sm'){display:block;width:100%;}}.headrMenuItem{padding:20px28px;@includemq('tab_sm'){display:block;//タブレット以下縦1列(ドロワーメニューの中)}@includemq('sp_lg'){display:block;}@includemq('sp_sm'){display:block;}}.headrMenuItema{text-decoration:none;color:#333;@includemq('tab_sm'){color:#ddd;}@includemq('sp_lg'){color:#ddd;}@includemq('sp_sm'){color:#ddd;}}/* /////////// *//* ###【トグルボタンのスタイル】 *//* /////////// */.toggleButtonWrapper{display:none;@includemq('tab_sm'){display:block;width:30px;height:24px;z-index:3;cursor:pointer;transition:all400ms;//アニメーション設定}@includemq('sp_lg'){display:block;width:30px;height:24px;z-index:3;cursor:pointer;transition:all400ms;//アニメーション設定}@includemq('sp_sm'){display:block;width:30px;height:24px;z-index:3;cursor:pointer;transition:all400ms;//アニメーション設定}}.toggleButton{position:absolute;//どんなにスクロールしても位置固定width:30px;height:2px;background:#666;border-radius:10px;transition:all400ms;//アニメーション設定&:nth-of-type(1){top:20px;//個別で調整可能}&:nth-of-type(2){top:30px;//個別で調整可能}&:nth-of-type(3){top:40px;//個別で調整可能}&.open{background:#fff;transition:all400ms;//アニメーション設定&:nth-of-type(1){top:20px;//個別で調整可能transform:translateY(10px)rotate(45deg);}&:nth-of-type(2){display:none;}&:nth-of-type(3){top:40px;//個別で調整可能transform:translateY(-10px)rotate(-45deg);}}}/* /////////// *//* End【トグルボタンのスタイル】 *//* /////////// */
$(function(){$("#toggleButtonWrapper").on('click',function(){if($(this).hasClass("open")){//閉じる$(this).removeClass("open");$("#global_nav").removeClass("open");$(".toggleButton").removeClass("open");}else{//開ける$(this).addClass("open");$("#global_nav").addClass("open");$(".toggleButton").addClass("open");}});});

ブラウザに表示させるための事前処理(コンパイラ)

$
0
0

複数の静的ファイルがブラウザに適用されるまでの仕組みをまとめました。
大まかに言うと、
ブラウザでは認識できる言語が決まっており、どんな言語も認識できる言語に翻訳する必要があります。
この翻訳作業をコンパイルといい、コンパイルできないものは事前に処理をする必要があります。この事前処理はプリコンパイルと呼ばれ、細かい機能1つ1つをモジュールという処理のまとまりにし、コンパイルしてブラウザに返すといった流れです。

前提
プログラミング初学者(2ヶ月)が学んだ内容をまとめたものです。
実際の現場では通用しないことや間違った情報がある可能性があります。
お気づきの方はコメントにてご指摘いただければ幸いです。

ブラウザは認識できる言語が決まっている

ブラウザはHTML,CSS,JavaScript,WebAssemblyという言語のみを認識することができます。
サーバーサイドでどんな記述をしていたとしても、最終的にはこの4つでブラウザに返されています。
これ以外の言語ではブラウザはページを描画することができません。

開発を便利にする言語

ブラウザでは、上記4つだけを認識してくれますが、開発ではより書きやすく読みやすいように設計されたプログラミング言語があります。
このプログラミング言語を高級言語といいます。

高級言語

機械よりも人間が理解しやすいように設計されたプログラミング言語
機械が認識しやすい言語は低級言語と呼ばれます。
高級言語の例
CSS:SCSS、SASS
JavaScript:TypeScript、CoffeeScript

ブラウザが認識できる言語に変換する仕組み

開発に便利な言語をブラウザが認識できるように翻訳する作業をコンパイルといいます。

コンパイル
プログラミング言語を動作する機械が理解できるように翻訳する作業
コンパイルはコンパイラというプログラムによって行われる。
コンパイラで認識できない言語がある場合は予めプリコンパイルしておく必要があります。

プリコンパイル
コンパイラが翻訳できない言語を翻訳できるようにする事前コンパイルのこと
メインとなる処理に対して行う前処理のこと
このプリコンパイルを行うための手法として、アセットパイプラインという仕組みがある。

アセットパイプライン
JavaScriptやCSSなどのアセットと呼ばれる静的ファイルを小さくまとめてくれる機能
アセットパイプラインの処理は、プリコンパイル→連結→圧縮→配置の流れで行われます。
複数の静的ファイルをプリコンパイルして連結したのち、圧縮して軽量化したものをpublicディレクトリに配置して、ブラウザへ渡せるようにします。
プリコンパイルはモジュールバンドラを使って行われます。

モジュールバンドラ
モジュールバンドラはJavaScriptのモジュールの依存関係を考慮しながら管理するツール
モジュールは機能を1つずつ分けて他のファイルから読み込めるようにした処理のまとまりのこと
機能のまとまりをモジュール、この1つ1つの機能が依存関係にある場合にモジュールバンドラはこれらを考慮しながら管理してくれます。
モジュールで管理せず、機能をファイルごとに分割してしまうと、最終的に1つのファイルにまとめるときに不具合が生じるためモジュールパンドラが使われています。

webpack
モジュールバンドラの中で主流なツール
webpackが行うことは大きく4つ
・Entry
依存関係を解決するためにどのファイルを基準(エントリーポイント)とするかを決める。
・Output
エントリーポイントにされ、webpackによってまとめられたファイルをどこへどのような名前で出力(アウトプット)するのか指定する。
・Loaders
JavaScript以外のCSSやHTMLなどのファイルをモジュールに変換する方法を読み込み(ロード)、指定した処理を行う。
・Plugins
圧縮などのファイルをまとめる以外でローダーが実行できないタスクを導入し、拡張(プラグイン)する。

【初心者向け】矢印(>)の位置でボタンの作り方を変えた方がいい話。

$
0
0

どうも7noteです。ボタンをCSSで作るとき、ボタンに付いている矢印(>)の配置で作り方を分ける方がいい話。

WEBサイトを作っていると、ボタンを作成する機会がたくさんあります。
画像で作る時はあまりきにしなくても大丈夫ですが、疑似要素で矢印を配置する際、できるだけレスポンシブサイトでも崩れないボタンを作るための工夫が必要になってきます。

私は矢印の位置によって、作り方を大きく2種類に分けて作っているのでそれぞれの作り方を紹介していきます。

矢印の位置によるボタンの種類の見分け方。

ボタンA
buttona.png

ボタンB

buttonbのコピー.png

違いは矢印の位置が文字に近いところにあるか、離れたところにあるかの違いですが、考え方としてはこのように考えます。

「矢印の位置はどこに依存しているか」

ボタンAでは、文字の近くに矢印があります。つまり文章の長さが変わっても文字のすぐ右側に矢印がある事が、このボタンの矢印の意図になります。文字によって矢印の位置がかわるので、文字に依存していると言えます。

ボタンBは、文字から離れたところにありますが、違う捉え方をすると右端から一定距離に位置していると言えます。つまりボタンがどんなに長くなろうと右端の位置をキープすることになります。ボタン(の右端)に依存している状態です。

このことから、それぞれボタンAとボタンBでは違う作り方をします。実際にソースを見てみます。

2種類のボタンの作り方

共通html

index.html
<divclass="btn">ボタン</div>

ボタンA(文字依存)の作り方

styleA.css
.btn{color:#fff;width:100px;text-align:center;background:#399;border-radius:5px;padding:10px30px;}.btn::after{content:">";margin-left:1em;}

ボタンB(右端依存)の作り方

styleB.css
.btn{color:#fff;width:100px;text-align:center;background:#399;border-radius:5px;padding:10px30px;position:relative;/* 追記 */}/* Aとは違う */.btn::after{content:">";position:absolute;top:50%;right:10px;transform:translateY(-50%);}

解説

もし、ボタンの長さや文字の量が変わると・・・

ichiran2.png

ボタンAでは長さが変わっても常に文字の横に矢印があり、
ボタンBでは長さが変わっても常に右端に矢印があると思います。

このようにレスポンシブ化や修正などで文字や横幅が変更になることがあっても、常に意図した位置に矢印を置くことができます。

まとめ

常にデザインの見た目ではなくて意味を理解して作ることが大切です。
私はデザインの構造を見極め、この矢印はスマホ表示になったり、文字が変わったらどこに位置されるべきだろうかと考えてcssを作るようにしています。
ついついボタンAの方がcss書く量少なくて楽だらかといった理由で、デザインの意図とは違う書き方をしないように気を付けたいですね。

おそまつ!

~ Qiitaで毎日投稿中!! ~
【初心者向け】HTML・CSSのちょいテク詰め合わせ

Bootstrap3からBootstrap4にCSS移行するための備考

$
0
0

概要

Bootstrap3では使えて、Bootstrap4では使えない機能は結構あります。
その時に参考するのがこちらのサイト。めちゃくちゃお世話になっています。

Bootstrap4移行ガイド

ですが、そこに書かれている記述のまま転記しても同等に利用できない事例もあったりするため、
そのようなものが発生した場合の解決をメモ代わりに利用しています。

なおscssで編集を行っています。

btn-xs

Bootstrap4では消えました
ですが、どうしても使いたいことは結構あります。
ほら、テーブルのボタンとか……ヘッダー右揃えで目立たないコンフィグボタンとか……。

そんなわけで、作ってしまいます

app.scss
$btn-padding-x-xs:.20rem!default;$btn-padding-y-xs:.12rem!default;$input-btn-line-height-xs:1.1!default;.btn.btn-xs{@includebutton-size($btn-padding-y-xs,$btn-padding-x-xs,$font-size-sm,$input-btn-line-height-xs,$btn-border-radius-sm);}
index.html
<buttontype="button"class="btn btn-xs btn-primary">めっちゃ小さいボタン</button>

なお.btn-xsのサイズはBootstrap3のマイナーバージョンの番号によって地味にサイズが異なるので、入れてみてから「なんか違うな」となったら変数を変更しましょう。

well

Bootstrap4ではこいつも消えました
具体的には.card系と統合になったとのこと。
では.cardで統合してしまいましょう。

index.html
<divclass="card card-body bg-light mb-3">
    wellの中身
</div>

と書きたいところですが、ちょっと待った!
実はこのように記述すると、ボタンやバッジを以下のように記述したとき、同等に表示されなくなります。

index.html
<divclass="card card-body mb-3"><buttontype="button"class="btn btn-danger mb-3">なぜかブロックになってるボタン</button><spanclass="badge badge-danger">なぜかめちゃくちゃ長いバッジ</span></div>

こんな感じになります↓
card失敗例.png

その理由としては、cardにはdisplay: flexが指定されており、card-body側でそれを打ち消す処理は特に入れていないから。
クラスの中身を編集しても構いませんが、面倒なのでdivの階層構造だけで対応してしまいましょう。

index.html
<divclass="card bg-light mb-3"><divclass="card-body">
        wellの中身
    </div></div>

なんか釈然としませんが、だいたい解決します。
ちなみにちょっとだけ色合いが違いますが、以下のように解決してもいいと思います。

index.html
<divclass="alert alert-secondary">アラート<br><buttontype="button"class="btn btn-primary">アラート内ボタン</button></div>

ボタンなども問題なく描画されます。

なにか発生するたびに増える予定...

【初心者でもわかる】簡単! HTMLのタグをそのままテキスト(文字)として表示する方法

$
0
0

どうも7noteです。HTMLソースをそのまま表示させる方法です。超簡単。

他の人にHTMLソースを使ってもらったり、HTMLソースを公開する時にHTMLタグのままテキストとして表示させる方法です。

やり方は超簡単

タグ(< >)を実体参照に置き換えるだけ。

  • 「<」 ⇒ &lt;
  • 「>」 ⇒ &gt;

実体参照とは?

<ahref="hogehoge.com">ほげほげへリンク</a>↓実体参照で置き換えると・・・

&lt;a href="hogehoge.com"&gt;ほげほげへリンク&lt;/a&gt;

結果
<a href="hogehoge.com">ほげほげへリンク</a>

これだけ。超簡単。

おそまつ!

~ Qiitaで毎日投稿中!! ~
【初心者向け】HTML・CSSのちょいテク詰め合わせ

aタグのフォントカラーを変える(青色にしない)

$
0
0

やりたいこと

aタグの中の文字がデフォルトで青色、アンダーラーンが設定されている。これらを変更したい。

解決するコードの書き方

a {
  color: black;
  text-decoration: none;
}

以上

Vuetifyのv-data-tableで奇数行の背景色を変える

$
0
0

やりたいこと

Vuetifyに用意されているテーブルコンポーネント[v-data-table]がデフォルトのままだといまいち見づらかったので、
よくある奇数行だけ色が変わっている一覧にしたい

image.png

おなじみのCSSを設定してみる

普通にCSSで奇数行の色変わるように指定

App.vue
<stylescoped>tabletd{background:#f0f8ff;}tabletr:nth-child(odd)td{background:#fff;}</style>

変わらない。。。
あぁ、scopedがついてるから子コンポーネントには反映されんのか。。。

App.vue
<style>tabletd{background:#f0f8ff;}tabletr:nth-child(odd)td{background:#fff;}</style>

image.png
変わった!
・・・けど、マウスオーバーしてる行の背景色が変わらなくなった。。。

tableのstyle上書きしてしまったから?
しょうがないから自分で設定してやる。

App.vue
<style>tabletd{background:#f0f8ff;}tabletr:nth-child(odd)td{background:#fff;}tabletr:hovertd{background-color:#eee;}</style>

完成!

image.png


【CSS】firefoxで動作するようにしたスクロール関連の修正

$
0
0

はじめに

自作拡張機能をchromeからfirefoxアドオンに移行し投稿(審査待ち)したので、移行中に修正した点を記事にします。

スクロールバーの表示を消す

スクロールバーは消したいけど、ホイールや別の手段でスクロールはさせたい時のCSSです。

chrome.css
.wrapper::-webkit-scrollbar{display:none;}
firefox.css
.wrapper{scrollbar-width:none;}

これchromeでも実装しないかな。

*-reverse

flexboxを使って子要素の配置順を反転させる(row|column)-reverse。

chrome.css
.wrapper{display:flex;flex-direction:row-reverse;overflow:scroll;}

firefoxでこの記述のままだとスクロール幅(rowは横、columnは縦)が可視幅と同値になり、スクロールが効かなくなった。
こんなケースは稀かもしれません。

左右のボックスを入れ替えるだけだったので、orderで対処。

firefox.css
.wrapper{display:flex;flex-direction:row;overflow:scroll;}.wrapper.reverse.right_box{order:-1;}

終わりに

他にはfont-familyのfantasyが使えなくてImpactにしたとか
font-sizeを要素でちゃんと指定しないと思うようなサイズにならなかったとか
細かい所は割愛。

※内容がわかりにくい?タイトルだったので変更しました。

css 画像 横並べ flexbox版

$
0
0

・テキストは左
・画像は右

もしくは上記と逆を作るCSSをメモ。
参考
https://niwaka-web.com/flexbox_reverse/

完成形

sayuu.png

以下、コピペで動く

hoge.css
<style>.fbox{display:flex;/* テキストが左、画像が右 */flex-direction:row;/* 画像が左、テキストが右 *//*flex-direction: row-reverse;*/justify-content:space-between;}/* justify-content *//*flex-start    フレックスコンテナの主軸の起点に揃えます。通常、左端に配置されます。*//*flex-end  フレックスコンテナの主軸の終点に揃えます。通常、右端に配置されます。*//*center    フレックスコンテナの主軸の幅の中央に揃えます。通常、左右中央に配置されます。*//*space-between フレックスコンテナの主軸の幅に対して余白をもって等間隔に配置されます。余白がないときは、flex-startと同じになります。*//*space-around  フレックスコンテナの主軸の幅に対して余白をもって等間隔に配置されます。space-betweenと異なり、起点・終点との間にも間隔が生じます。余白がないときは、centerと同じになります。*/.fbox.pic{width:64px;}/* テキストが左、画像が右 を、それぞれ 左右交互に表示 */.fbox:nth-child(even){flex-direction:row-reverse;}.fbox:nth-child(even).text{text-align:right;}</style>
hoge.html
<aclass="fbox"href="//yahoo.co.jp"><divclass="text"><h3>見出しが入ります</h3><p>親譲りの無鉄砲で小供の時から損ばかりしている。</p></div><divclass="pic"><imgsrc="https://placehold.jp/3d4070/ffffff/64x64.jpg"></div></a><aclass="fbox"href="//yahoo.co.jp"><divclass="text"><h3>見出しが入ります</h3><p>親譲りの無鉄砲で小供の時から損ばかりしている。</p></div><divclass="pic"><imgsrc="https://placehold.jp/3d4070/ffffff/64x64.jpg"></div></a><aclass="fbox"href="//yahoo.co.jp"><divclass="text"><h3>見出しが入ります</h3><p>親譲りの無鉄砲で小供の時から損ばかりしている。</p></div><divclass="pic"><imgsrc="https://placehold.jp/3d4070/ffffff/64x64.jpg"></div></a><aclass="fbox"href="//yahoo.co.jp"><divclass="text"><h3>見出しが入ります</h3><p>親譲りの無鉄砲で小供の時から損ばかりしている。</p></div><divclass="pic"><imgsrc="https://placehold.jp/3d4070/ffffff/64x64.jpg"></div></a>

レスポンシブデザインは容易に追加すべきではない

$
0
0

はじめに

スマートフォンの普及をきっかけに、Web制作において
必須のスキルとなっているレスポンシブデザイン。
今回css記述の際に気をつける点を記述する。

参考文献

CSSシークレット ―47のテクニックでCSSを自在に操る

※kindle版は英語表記しか見つけれませんでした。

考え方

様々な解像度の下でWebサイトを表示させ、問題が生じたらメディアクエリを記述する。
→しかし、後々変更が必要になった場合、手間は倍となる。

メディアクエリを追加するたびにCSSのコードは不安定さを増す。
よって、ビューポートによって完全にデザインを切り替えたいなどの
最終手段としてメディアクエリを使うべきである。

以下に、
メディアクエリを回避するためのヒントを記述

※メディアクエリが悪いわけではなく、正しく使うべきという考え方。

①Widthは固定値ではなく、%を使う

学習初期では、よく固定値を多用して他のデザインに影響を与えてハマっていた。

・できる限りpaddingやmarginで表す。
・width: 〇〇px;ではなくwidth: 〇〇%;
・相対値(vw, vh, vmin,vmax)を使う。

②widthではなくmax-widthを使う

max-widthを使用することによって、メディアクエリを使用せずとも小さな画面に対応できる。

③置換要素ではmax-width: 100%;を忘れずに

置換要素→img,object,video,iframeなど

④background-size: cover;

背景画像がコンテナ全体を覆う必要がある場合にコンテナのサイズを記述する必要がなくなる。
※モバイル向けのデザインにて、大きな画像を縮小する場合は不具合も。

⑤column-widthを指定する

段組を使ってテキストを配置する場合に小さな画面では1段組みで表示する。

結論

大量のメディアクエリの記述が必要となった場合には
一歩戻ってコードの構造を見直すことが重要。
2,3個の簡単なメディアクエリでレイアウトをレスポンシブにできるように意識する。

cssは奥が深くもっともっと学習が必要であると感じた。
もう少し具体的に記述できるよう随時アップデートしていきたい。

input type="file" をまともにする

$
0
0

ファイルアップロードのUI(input type="file")は厄介です。ブラウザによって表示方法が異なるのにCSSでのカスタマイズが難しいし、Chrome以外では添付したファイルをキャンセルできないという問題もあります。ですが、JavaScriptを使えば、

  1. CSSでカスタマイズ可能
  2. 添付したファイル名を表示可能
  3. 添付したファイルをキャンセル可能

にできます。

元のHTML

<formmethod="POST"enctype="multipart/form-data"><ul><li><inputtype="file"name="file1"></li><li><inputtype="file"name="file2"></li></ul><inputtype="submit"value="UPLOAD"></form>

input type="file"な要素が2つあります。なのでJavaScriptでコントロールするときには対象を特定する必要があります。

修正版HTML

よくあるのは input type="file"な要素を非表示にした上で label要素で囲み、labelのクリックで input type="file"のポップアップを連動させるというやり方です。ですが、JavaScript を使うのであれば labelにこだわる必要はありません。むしろ labelにはデフォルトで連動のアクションがあるため扱いが面倒です。

labelの代わりに spanで囲むことにします。目印のために class="upload"としています。

<formmethod="POST"enctype="multipart/form-data"><ul><li><spanclass="upload"><inputtype="file"name="file1"><inputdisabled></span></li><li><spanclass="upload"><inputtype="file"name="file1"><inputdisabled></span></li></ul><inputtype="submit"value="UPLOAD"></form>

spanの中には2つ input要素があります。一つは元々の input type="file"な要素、もう一つはファイル名を表示するために追加した要素です。追加した要素は表示のためだけに使うので、disabledにしています。アイコンなどを追加したい場合は span要素の中に入れればクリック時にポップアップと連動します。

追加のCSS

以下のCSSを追加します。

form.upload{display:inline-block;}form.uploadinput[type="file"]{display:none;}form.uploadinput[disabled]{pointer-events:none;}

span要素はクリックを「受け止める」必要があるため、inline-block にします。元々の input要素は非表示にし、追加した input要素はクリックを「素通し」するので pointer-events: none;とします。この設定がないと Firefox では追加した input要素がクリックを「消費」してしまい、spanまでクリックが伝わりません。

コントロール用JavaScript

以下のJavaScriptを追加します。

$(function(){$('.upload').on('click',function(){$(this).find('input').val('');$(this).find('input[type="file"]').trigger('click');});$('.upload input[type="file"]').on('click',function(event){event.stopPropagation();});$('.upload input[type="file"]').on('change',function(){if(this.files.length){$(this).parent().find('input[disabled]').val(this.files[0].name);}});});
  1. span要素(class="upload")がクリックされたときは、内部にある2つの input要素をともにクリアし、input type="file"な要素をクリックすることでポップアップを起動します。
  2. input type="file"な要素がクリックされたときに親要素へのイベント伝播を停止します。これを行わないと再度 spanがクリックされることになるので無限ループになってしまいます。
  3. ポップアップから戻ったとき、ファイルが選択されていればそのファイル名を追加した方の input要素に表示します。

jQueryを使ったので簡潔に書けました。生のDOM操作関数でも記述可能と思いますが、かなり面倒になると思います(私にはその根気はありません)。

【初心者でもわかる】別タブで開く時(外部リンク)だけ自動でマークを付ける方法

$
0
0

どうも7noteです。ちょっとした自動化の小技を紹介。

フッターなどで、外部サイトにリンクする際によく使われる別窓マークを自動で付ける方法を紹介。
今回マークはフォントオーサム4で付けています。

mihon.png

<head>内で以下を読み込んで起きます。

<link href="https://netdna.bootstrapcdn.com/font-awesome/4.0.3/css/font-awesome.min.css" rel="stylesheet">

つけ方

index.html
<ul><li><ahref="https://hogehoge.com"target="_blank">ほげほげサイトへ飛ぶ</a></li></ul>
style.css
ullia[target="_blank"]::after{content:'\f08e';font-family:FontAwesome;/* font-awesomeを使うための呪文 */margin-left:0.5em;}

aタグの属性で、target="_blank"を使用することで、「別窓で開く」ことができます。
多くの場合、外部サイトへリンクさせる時は別窓で開くことが多いので、この属性値を利用して、css側で

a[target="_blank"]

という書き方をすることで、別窓で開くaタグにのみcssを当てることが可能になります。

そして、疑似要素のafterにアイコンフォントのフォントオーサムを指定することで別窓マークが自動的に付くようになります。

特定のクラスなどをわざわざ書かなくても済むのでhtmlがすっきりしますし、経験者が見れば一目で何しているかが伝わりやすい書き方になるので覚えて起きたいところです。

まとめ

簡単で地味ですが、コーディングの業務は様々なところに気をつかわないといけないので、今後のメンテナンスの事も考え自動化できるところは自動化する方が効率的です!

おそまつ!

~ Qiitaで毎日投稿中!! ~
[【初心者向け】HTML・CSSのちょいテク詰め合わせ](https://qiita.com/7note

初心者がハマったCSSまとめ

$
0
0

前提

私がハマったcssをまとめた備忘録です

display

要素の「表示形式」を指定するプロパティ

ブロックレベル要素 display: block

見出し要素(h1, h2, h3…h6)、p、ul、ol、li、div、table
要素の前後に改行が入り、ブロックが積まれているイメージ

・widthとheightを指定できる
・上下左右にmargin,paddingを指定できる
・text-alignは要素の中身に適応される

インライン要素 display: inline

ブロックレベル要素の中身として使われる要素(a、span、strong など)
テキストの一部として扱われるため、要素の前後には改行は入らず横に並んでいくイメージ

・widthとheightを指定できない
・左右だけmargin,paddingを指定できる
・text-alignは親ブロックに指定することで適用できる

display: inline-block

・横に並んでいく
・widthとheightを指定できる
・上下左右にmargin,paddingを指定できる
・text-align を親ブロックに付けることで指定できる。

<ul>
   <li><a href="#">1</a></li>
   <li><a href="#">2</a></li>
<ul>
li {display: inline-block;}
a { display: block;}

listをインラインブロックで横並びにして、aをブロック要素で表示することでクリックできる範囲を広げる

overflow

ボックス内に収まりきらない内容の処理を指定するプロパティ

・visible(初期値):ボックスから内容をはみ出して表示

・hidden:ボックスからはみ出した要素は表示しない

・scroll:ボックスに入りきらない内容はスクロールで表示される

・auto:ボックスに入りきらない内容はスクロールで表示される

autoとhiddenの違い
autoは内容が入りきらない場合にのみスクロールバーが表示
hiddenは内容にかかわらず常に表示される

position

position: staticが初期値
通常の位置に配置される、topやbottomなどの位置を指定できない

position: relative

元々配置される位置を基準にtopやleftなどを指定することができる

position: absolute

通常の位置から外れてbodyが基準になる
親要素にstatic以外の値を設定している場合は親要素の左上が基準の位置になる

<div class="container">
  <img href="#">
</div>
.container{
            position: relative;
          }
.container img{
                position: absolute;
                top: 50%;
                left: 50%;
              }

containerを基準にimgの場所を指定できる

Tyハロトレ19日目

$
0
0

HTML

今後の流れ

①HTML&CSS(残り8回)
②JavaScript(16回)
③Webサイト(Dreamweaver)(15回)
④PHP/MySQL(8回)
⑤WordPress(18回)
⑥卒業制作
※SEO練習、illustrater、Photoshop

準備すること

・Gmail
・Dropbox
・チャットワーク

アプリケーションソフト

・TeraPad
・Visual Studio Code
・Mira Type

ルーティン

・3分スピーチ・・・起承転結をつけて、相手にアクションを起こしてもらうのが大事です。
・タイピング(10分100回)・・・最低目標は、1分間120文字

就職するにあたって必要なスキル

グループワーク

Webサイトを制作して、3回やる予定
当たり前のことですが、人の話を聞いて、自分の意見を言えることが大事です。

私のおすすめサイト

ちょっと変わったサイトを紹介できると良いです。

internetとは?

interは何かと何かを繋げるもの

interchange 乗換駅
interview 会見

プロトコル

インターネットの共通言語
基本的にTCP/IPが使われます。
データは小分け(パケット)にしてネットワーク上に送り出されます。
ルートは違えど、目的地にパケットにした情報の全てが届けばよいというのが基本的な考え方です。

ウェブサイト:HTTP
電子メール:SMTP(Simple Mail Transfar Protocol)

インターネット上に正しい情報が送られるように、住所のようなIP(Internet Protocol)アドレスがあります。

URLにアクセスするのは、サーバーにリクエストするということです。

https://www.yahoo.co.jp(ドメイン名)
https://183.79.135.206(IPアドレス)
このように、ドメイン名とIPアドレスを結びつけることを「ドメインネームシステム」と言います。

wwwサーバー名
yahoo組織名
co組織の種類
jp国別コード

HTMLについて

Hyper Text Markup Language
Hyperはsuperを超えているという意味です。
すんげえ文章に印を付けている言語ですよという意味です。

コンピュータで文書を記述するのに、SGMLを用意されました。
複数のコンピュータを扱うのに、XMLができました。
わかりやすさを追求して、HTMLができました。

HPについて

最初のページをホームページ。最初のページ(ホームに帰る)からホームページと呼びます。
すべてのページを含めたものが「Webサイト」と呼びます。

要素

空要素

入れ子

<head><metacharset="utf-8"></head>

metaは情報が入っていますよという意味です。

就職先

就職先.png

就職先

インフォメーション・アーキテクチャー・・・情報の構造化が重要です。
Web制作+動画が必要です。Premere ProやAfter Effectsなどなど。

TeraPadの初期設定

・表示>オプション>EOFのチェックを外す
・表示>オプション>文字コード 初期文字コード:utf-8Nを選択
・表示>オプション>ブラウザ Firefoxを以下に変更
C:\Program Files (x86)\Google\Chrome\Application\chrome.exe
・ファイル>文字/改行コード指定保存>文字コードをutf-8に変更
・表示>折り返し桁設定>0:87桁(右端) をクリック

テンプレート

<!doctype html><html><head><metacharset="utf-8"><title></title></head><body></body></html>

hr

「br」はforced line break、「hr」はhorizontal rule
hr.png

<p>これは段落です。<br>これは段落です。これは段落です。これは段落です。これは段落です。これは段落です。</p><hr><p>これは段落です。<br>これは段落です。これは段落です。これは段落です。これは段落です。これは段落です。</p>

ショートカット

Alt+tabキー 表示切替
Winキー+Dキー デスクトップ表示

mypage.html

学んだものを反映させるページで、授業ごとにページを作っていきましょう。
習ったら、反映。を繰り返します。


【HTML/CSS】9/10

$
0
0

【HTML/CSS】
①「親→子」指定時にひっかりがちなミスと指定法
2.jpg

②レイアウト-外から指定する方法(一般的)と内側の要素に指定する方法(少し複雑だが便利)
1.jpg

③Flexboxにおいてはmarginしか使わないほうが良いこと
3.jpg

「data-target="#〇〇"」・・・「#」よ、お前は何者なんだい?

$
0
0

前提

今年8月末に、ゼロからHTMLに取り組み始めました。
黒澤さん(@kurokurosawa)によるウェビナー「YoshiTech 会津わろ法則」Round2 の修了生です。
黒澤さんが提唱する「学んだことをQiitaにアウトプットする取り組み」を、少しずつ実践しています。

現状としては、HTML/CSS の基礎についての学習が一区切りついたので、Bootstrap の学習に入っています。
Bootstrap について一区切りついたら、次はJavaScript に進む予定です。

Udemyを利用して学習しています。
現在受講を進めている講座は、
・ウェブ開発入門完全攻略コース - プログラミング をはじめて学び創れる人へ!未経験から現場で使える開発スキルを習得!
・[HTML/CSS/JavaScript] フロントエンドエンジニアになりたい人の Webプログラミング入門
の二つです。

Bootstrap を用いたコードで、「#」を書き忘れてしまいました

Bootstrap を使って、画面幅が狭くなったときに出現する「ハンバーガーメニュー」のコードに取り組んでいた時のことです。

(画面幅が狭くなるとこうなって・・・)
2020-09-09 (3).png
    ↓
    ↓
(右側のボタンを押すとこうなるやつです)
2020-09-09 (2).png

こうしたハンバーガーメニューを作ろうと、次のコードを書きました。

<navclass="navbar navbar-expand-lg navbar-light"style="background-color: rgb(194, 226, 247);"><aclass="navbar-brand"href="#">ナビゲーションバー</a><buttonclass="navbar-toggler"type="button"data-toggle="collapse"data-target="NavbarSupportedContent"aria-controls="NavbarSupportedContent"aria-expanded="false"aria-label="Toggle navigation"><spanclass="navbar-toggler-icon"></span></button><divclass="collapse navbar-collapse"id="NavbarSupportedContent"><ulclass="navbar-nav"><liclass="nav-item"><aclass="nav-link"href="#">ホーム</a></li><liclass="nav-item"><aclass="nav-link"href="#">ブログ</a></li><liclass="nav-item"><aclass="nav-link"href="#">ギャラリー</a></li></ul></div></nav>

もちろん、自分でゼロから書いているわけではありません。
Udemy の講座を見ながら、ハンズオン形式の「手取り足取り状態」で書きました。
にもかかわらず・・・エラー発生です。

どんなエラーかというと、ハンバーガーメニューが開いてくれません。
ハンバーガーメニューのボタン自体は表示されるのですが、いくらボタンをクリックしても反応してくれないのです。

結論から言うと、button タグ内の data-target 属性の記述に誤りがありました。
2020-09-09 (3).png
正しくは「data-target="#NavbarSupportedContent"」と書かなければならないのに、「#」を書き忘れていたのです。

書き忘れただけならまだしも・・・

こうした「書き忘れ」自体は、つまるところヒューマンエラーです。
もちろん間違いに対して開き直るのは禁物ですが、かといってヒューマンエラーを根絶するのも不可能でしょう。
大切なのは、ヒューマンエラーの発生を見越しつつ、リカバリーする体制をととのえておくことだと思います。

その意味で、今回の件では「書き忘れ」以上に深刻な問題がありました。
というのも、この書き忘れを見つけるのに、とても時間がかかってしまったのです。

HTML/CSS のコードを書くのにもだいぶ慣れてきて、自分の中では「エラーへの対処法」がそれなりに固まっていたところでした。

もしエラーが発生しても、
・スペルミス
・半角スペースの欠如
・タグ類の閉じ忘れ(特にCSSの「;」の書き忘れ)
・使用する要素や属性の取り違え
・ネスト構造の間違い
といった点に注意してコードを見返せば、エラーの原因は見つかるものだと思っていたのです。

そのやり方が、今回の「#」の書き忘れについては通用しませんでした。

なぜなら、「#」の意味を理解できていなかったからです。

意味を考えない「丸暗記」には限界がある

今回のミスについて、
「data-target 属性について記述する際には、# が必要!」
と割り切って丸暗記してしまうのも、ひとつの対処法かと思います。

はじめのうちは、あえて丸暗記する。
そのうえで、たくさんコードを書きながら、手に覚えさせてしまう。
・・・もちろん、こうしたアプローチも必要です。

ただ、それだけに頼っていると、膨大な時間がかかってしまいます。
そこで、手を動かすことに加えて、「意味を考える」ことが大事になってくるのではないでしょうか。

実際、私はHTML/CSSの学習を始めて、まだそれほど時間が経っていません。
それでも、基礎的なコードの書き方をある程度習得できています。
それは、手を動かしてコードを書くと同時に、コードの意味を考えていたからだと思うのです。
(視聴しているUdemy 講座が、質の高いレクチャーをしてくれるおかげです)
意味を考えずに、ただ丸暗記しようとしていたら、何一つ習得できていなかったことでしょう。

なので今回のミスについても、「# の意味を考える」ことで道が開けるのではないかと考えました。

というわけで、「#」について考えてみました

そこで、「#」がコードの中でどんな役割を果たすのか、自分なりに考えていきたいと思います。

情報をリンクさせるためのものっぽい

今回のコードで「#」が必要になった data-target 属性。
この属性の役割は、「ハンバーガーメニューを開いたときに出てくる情報を指定する」ということだと思います。
つまり、「ハンバーガーメニューのボタン」と「開いたメニューに表示される情報」をリンクさせるための属性です。

「#」をリンクに使う例として思い浮かぶもの

こうした「#」が出てくる例としては、ページ内リンクが思い浮かびます。

<body><p>(本文1)</p><p>電話番号は<ahref="#phone_number">こちら</a>をクリック</p><p>(本文2)</p><pid="phone_number">電話番号は〇〇〇</p></body>

そういえば、id 属性を付加した要素に CSS をあてるときにも、「#」を使いますよね!

#phone_number{color:red;border:solid1pxblack;}

似たような例でも「#」を使わない場合が・・・

一方、似たような場面なのに「#」を使わない例も思い浮かびます。
たとえば、外部サイトにリンクを張る場合。

<body><p>(本文1)</p><p>お店のホームページは<ahref="https://〇〇〇">こちら</a>をクリック</p><pclass="background_color_red">(注意書き1)</p><p>(本文2)</p><pclass="background_color_red">(注意書き2)</p></body>

また、class 属性を付加した要素に CSS をあてるときには、「#」ではなく「.」を使います。

.background_color_red{background-color:red;}

あるいは、HTMLファイルにCSSスタイルシートを読み込む際にも、「#」は使いません。

<linkrel="stylesheet"href="css/style.css">

・・・なぜ「#」を使う場合とそうでない場合に分かれるのでしょう?

「#」を使う場合のポイント1 「ファイル内の特定箇所へのリンク」

ヒントを求めて Web をさまよっていると、とても参考になる記事を見つけました。

ハイパーリンクを提供する | The Web KANZAKI

この記事の中で、ページ内リンクの例として、次のようなコードが挙げられています。

<ahref="#detail">このファイル内の詳細へ</a>

そして、直後に次のような注意書きが書かれています。

×よくある間違い:#を忘れると、「detail」という名前のファイルを探そうとしてNot Foundエラーになります。

「#」がなければ、ファイル名と誤解されてしまう・・・
この注意書きが、とても大きなヒントになってくれました!

つまり、まずは次のように考えるとよいのだと思います。

1. リンク先としてファイル全体を指定するときは、「#」は不要 

2. リンク先としてファイル内の特定箇所を指定するときは、「#」を使う
 2-1 同一ファイル内の特定箇所を指定するときは「#〇〇」
  2-2 外部ファイル内の特定箇所を指定するときは「ファイル名#〇〇」

こう考えれば、外部リンクやCSSスタイルシートを読み込む際には「#」が不要で、ページ内リンクには「#」が必要になる理由が分かります。

また、そもそもの発端である「data-target="#〇〇"」の意味についても、だいぶハッキリしてきます。つまり、
【ハンバーガーメニューが開いたときに出てくるようにしたいのは、同一ファイル内の特定箇所にある情報。だからこそ、「#」を書く必要がある】
というわけです。

ここまでイメージできるようになれば、data-target 属性に「#」を書き忘れてエラーが発生した場合にも、リカバリーにかかる時間を短縮できそうです。

「#」を使う場合のポイント2 「名前の唯一性」

ここまでの段階で、今回の目的(「#」の書き忘れへの対処)はすでに達成できています。
ですが、先ほどの記事(ハイパーリンクを提供する | The Web KANZAKI)には、さらなるヒントがありました。

それは、「#」を用いて指定する「名前」についてのお話です。

名前は、同一ドキュメントの中で唯一のものでなければならず、重複してはいけません(Uniqueness)。このとき、(1)大小文字の違いだけによる名前付けは、この唯一性を満足できません;(2)ただし、名前の照合時(string match)に大小文字は区別されます。以下のような使い方をしないよう注意してください。

記事内では、これを「名前の唯一性」と呼んでいます。

「#」を使って指定する名前は、「唯一」のものでなければならない。
だからこそ、CSSをid属性とリンクさせる場合には「#」を使えて、class属性とリンクさせる場合には使えないのですね。

CSSでの「#」と「.」の使い分けにまで、視野を広げることができました!
(そういえば、そもそもの発端であるBootstrapを使ったコードの中で、ハンバーガーメニューに紐づける要素のタグ付けには id 属性が使われていたのでした・・・まるで伏線が回収されたような感覚です笑!)

おまけ:個人的な「#」のビジュアルイメージ

今回の検討を踏まえて、「#」に対して個人的に次のようなビジュアルイメージを持つに至りました。
896251_resize.png
フック付きロープイラスト/イラストACより

先端に金属製のフックが結びつけられたロープです。
(よくアクション映画なんかで、フックを高いところめがけて投げて「ガチっ!」と固定させ、壁をよじ登るのに使うアレです)

ファイル内の特定箇所に向けて、このロープを投げかけるようなイメージ。
また、1本のロープなので1か所にしか使えず、「名前の唯一性」のイメージにもぴったりなんじゃないかな?と思っています。。。

最後まで読んでいただき、ありがとうございました!

ISSのローカルサーバーでCSSが適用されない

$
0
0

ISSのローカルサーバーで、DBの内容とかは反映されてるのにCSSが適用されなかったので備忘録として残しておく

1.コントロールパネルを開いて「プログラム」をクリック

image.png

2.「Windows の機能の有効化または無効化」をクリック

image.png

3.「静的なコンテンツにチェック」を入れる

インターネット インフォメーション サービス > World Wide Web サービス > HTTP 共通機能 > 静的なコンテンツ
image.png

この手順でCSSが効くようになります

【CSS】inputタグのスタイリング基本プロパティ

$
0
0

テンプレ

.c-input{font-size:16px;width:100%;height:30px;border-radius:3px;padding:3px5px;box-sizing:border-box;background-color:#fff;&:focus{outline:none;}&:invalid{border:solid1pxred;}}

スタイリングは適当に書いたので、ユースケースに応じて設定する。

プロパティ説明

サイズ

width => 親(フォーム)要素のwidth、paddingで調整するので基本100%でいい
height => フォントのサイズとの兼ね合いで決める。フォントサイズが16pxで、余白が5px欲しかったらheightは26px、みたいな感じ

border-radius => inputの角を調整する

フォント

font-size => input要素のフォントサイズはp,divなどとは別のため忘れず指定する。大体input[type="text"]とか、input要素単位で指定する
font-color => input要素のフォントカラーはp,divなどとは別のため忘れず指定する

レイアウト

padding => 文字とinputの余白を調整しないと窮屈な印象になる
box-sizing => heightの値 = 縦のサイズにするため
border-boxを指定して統一しやすくする。

カラー

background-color => 背景色を指定する
outline => 外枠。:focusで付けることでフォーカス時の枠線を消す
ちなみに、スマホでタップした時の枠もtap-highlight-color:rgba(0,0,0,0);で消せる
``

Macのターミナルからhttp-serverコマンドを使って Webサイトを検証できるようにした

$
0
0

Macが突然壊れたので新しいMacを購入した。
現在、Webサイトを運営中でそれの更新作業を新しいMacでしようとした時に、ローカル環境で検証できないようになっていた。

具体的には、ターミナルでhttp-serverコマンドを打ってもエラーが出てくる。
新しいMacを購入してから環境構築をして無いねんから、そりゃ当然ですね。

とうことで、環境構築をすることにしましたが、ちょこちょこ詰まったので、ここに残しておきます。

主にこちらの記事を参考にさせていただきました。
https://qiita.com/standard-software/items/1afe7b64c4c644fdd9e4

とりあえずhttp-server コマンドのインストール

とにもかくにも、まずインストールを試みる

% npm install http-server -g

しかし、下記応答が。。。

zsh: command not found: npm

command not found: npmと出た時の対処

npmコマンドが使えないよ。とのことなので、以下の記事を参考にして進める。
https://qiita.com/sinmetal/items/154e81823f386279b33c

基本的には上記のリンク先通りにすればオッケー
ここでは、その過程で詰まったところを記載します。

source ~/.bash_profileコマンドで大量のエラー

.bash_profile が見当たらなかったので、下のサイトを見ながら、ホームに.bash_profile を作成。
http://banker0507.blogspot.com/2012/11/macbashprofile.html

https://qiita.com/sinmetal/items/154e81823f386279b33c
上記リンクに沿って下記コマンドを実行

% source ~/.bash_profile

すると下記のエラーが

command not found: rtf1ansiansicpg932cocoartf2513
command not found: cocoatextscaling0cocoaplatform0{fonttblf0fmodernfcharset0
command not found: colortbl
command not found: red255green255blue255
command not found: red255green255blue255
command not found: red83green83blue83
parse error near `;;'

なんだこれは?とりあえず.bash_profileの中身を見てみる

% cat .bash_profile

{\rtf1\ansi\ansicpg932\cocoartf2513
\cocoatextscaling0\cocoaplatform0{\fonttbl\f0\fmodern\fcharset0 Courier;}
{\colortbl;\red255\green255\blue255;\red255\green255\blue255;\red83\green83\blue83;}
{\*\expandedcolortbl;;\cssrgb\c100000\c100000\c100000;\cssrgb\c40000\c40000\c40000;}
\paperw11900\paperh16840\margl1440\margr1440\vieww10800\viewh8400\viewkind0
\deftab720
\pard\pardeftab720\sl380\partightenfactor0

\f0\fs26 \cf2 \cb3 \expnd0\expndtw0\kerning0

\outl0\strokewidth0 \strokec2 export PATH="/usr/local/bin:$PATH:/usr/local/sbin"\
export PATH=$HOME/.nodebrew/current/bin:$PATH
}

なぜかよくわからない文がたくさん、、、
viで中身を編集し、下記の状態にする。

% cat .bash_profile

export PATH="/usr/local/bin:$PATH:/usr/local/sbin"
export PATH=$HOME/.nodebrew/current/bin:$PATH

もう一度

% source ~/.bash_profile

無事エラーなしで解決

http-server実行でローカル環境での検証環境構築成功

その後もせこせこと参考ページを見ながらインストール等を実施し、最後に

% http-server

Starting up http-server, serving ./
Available on:
  http://127.0.0.1:8080
  http://192.168.10.7:8080
Hit CTRL-C to stop the server

http://localhost:8080/
にアクセスすると、、、、

無事、ローカルでの検証環境を構築することができました!

上記のサーバを停止したいときはcontrolキーとCを同時に押してください。

Viewing all 8501 articles
Browse latest View live