上下左右中央揃え css

https://www.granfairs.com/blog/staff/centering-by-css

↓これでOK new-igarashi

vertical-align: middle;

vertical-align: middle

内容量よりも高さのあるブロックにおいて、中身を上下中央寄せにしたいときvertical-alignの出番です。

 

.outer{ display: table; width: 100%; }

.inner{ display: table-cell;   
               vertical-align: middle;
                text-align:center;}

 

「vertical-align」が使えるのはインライン要素・テーブルセルのどちらかなので、上下中央寄せにしたいテキストを内包する要素にdisplay: table-cell;を指定します。

innerにtext

例えば、下図のような「横に並んだ」「高さの異なる複数の要素」を中央に揃えたいというシーンで有効な方法です。

横に並んだ高さの異なる要素で、高さを揃えて中身を中央寄せに

 

↓だとwidthの幅が50%しか取れないから内容量が多ければ↑のほうにする。

花の湯館 新名称 new-name.html

html

<div class=”row justify-content-center header-back “>

<div class=”col-10 col-sm-8 text-center read01″><img src=”image/new-name/item1.png” class=”mx-auto img-fluid” alt=”新名称が決定しました。4月1日より「長八温泉 花の湯館」は「まちなか天然温泉 ゆくりえ」へ
“/></div>

</div>

 

css

.new-name .header-back {
background-color: #72D3E7;
text-align: center;
vertical-align: middle;
/*要素縦横を中央ぞろえに↓*/
position: relative;
height: 500px;
}

.new-name .read01{
/*要素縦横を中央ぞろえに↓*/
position: absolute;
top: 50%;
left: 50%;
transform: translateY(-50%) translateX(-50%);
-webkit- transform: translateY(-50%) translateX(-50%);

}

 


transform

transform

ブロック自体の上下左右中央寄せ2つ目、transform

.outer{
  position: relative;
}
.inner{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
  -webkit- transform: translateY(-50%) translateX(-50%);
}

これは中央寄せする要素の左上を起点として上から50%(top: 50%;)・左から50%(left: 50%;)の位置に移動させ、要素の大きさの半分ずつを戻す(translate)、という動きをしています。

transformで中央寄せになる仕組み

一部プレフィックス指定が必要なブラウザもありますが、挙動もわかりやすく、幅・高さ指定が必須ではないので汎用的に使いやすい方法といえると思います。

※ 対応ブラウザはCan I useを参照。
Can I use… Support tables for HTML5, CSS3, etc

募集応募締め切り レイヤーを重ねる

http://cm-creation.net/yoshida/toyamaonsen.jp/special/sp001.html

花の湯館  名称募集の締め

css

.closeinfo img{position: absolute;
z-index: 20;
width:100%;
height: auto;
top:1;
left: 0;
right: 0;
bottom: 1;
margin: auto;}

 

 

html

 

おおもとの該当コンテナにスタイルを追加

style=”position: relative”

※なかなかrelativeにならないので、追加箇所はトライ&エラーで挿入箇所は見つける

 

<div class=”col-xs-12 closeinfo”>
<img src=”../image/special/info.png” class=”img-responsive center-block” alt=””/>
</div>

背景画像の位置 css background-position

http://masaboo.cside.com/new_css1/cs_24.htm

 

スタイルシートでの単位
数値にptなどの単位をつけて指定する
キーワード
left    左
center  真ん中
right   右
top     上
bottom  下
パーセント

背景画像の位置を指定するには、background-positionプロパティを使います。

この前に説明したbackground-repeatの値に、no-repeatを指定すれば画像は繰り返さず画面の左上に一つだけ表示されましたが、このプロパティを使えば左上だけではなく、好きなところに画像を表示させることが出来ます。

位置の指定はまず、数値にptなどの単位をつけて設定する方法があります。最初の値には左側からの位置を指定し、半角のスペースの後の2つ目の値は、上からの位置をそれぞれ指定します。

左からの位置を100px、上からの位置を200pxに設定したい場合は、
background-position:100px 200px;というように記述します。

それと、キーワードを使って位置を指定することも出来ます。キーワードには、left(左),center(中央),right(右),top(上),bottom(下)の5つがあり、これらを使ってだいたいの位置を指定します。
例えば、background-position:right bottom;と記入すれば右下に画像を表示できます。

また、値は一つだけでも設定することが出来ます。その場合は左側からの位置だけを任意に指定でき、縦の位置はcenterを指定した場合と同じになります。

background-position:100px ;と記入すれば、左側からの位置が100px、縦の位置は中央になります。
なお、topとbottomを一つで指定した場合は、横方向の位置が中央になります。

あと、パーセントを使って位置を指定することも出来ます。

サンプル – Microsoft Internet Explorer
左から50px、上から50pxです。
HTML&CSS
<html>
<head>
<title>サンプル</title>
<style type="text/css">
<!--
body { background-image:url(dog.gif);
     background-repeat:no-repeat;
     background-position:50pt 50pt;}
-->
</style>
</head>
<body>
左から50px、上から50pxです。
</body>
</html>

 

サンプル – Microsoft Internet Explorer
左から80%、上から40%です。
HTML&CSS
<html>
<head>
<title>サンプル</title>
<style type="text/css">
<!--
body { background-image:url(dog.gif);
     background-repeat:no-repeat;
     background-position:80% 40% ;}
-->
</style>
</head>
<body>
左から80%、上から40%です。
</body>
</html>

 

サンプル – Microsoft Internet Explorer
右下に表示されます。
HTML&CSS
<html>
<head>
<title>サンプル</title>
<style type="text/css">
<!--
body { background-image:url(dog.gif);
   background-repeat:no-repeat;
   background-position:right bottom;}
-->
</style>
</head>
<body>
右下に表示されます。
</body>
</html> 

 

サンプル – Microsoft Internet Explorer
左からの位置が、150px,上下の位置は中央です。
HTML&CSS
<html>
<head>
<title>サンプル</title>
<style type="text/css">
<!--
body { background-image:url(dog.gif);
     background-repeat:no-repeat;
     background-position:150pt;}
-->
</style>
</head>
<body>
左からの位置が、150px,上下の位置は中央です。
</body>
</html>

 

サンプル – Microsoft Internet Explorer
左右の位置が左で、上下の位置が、中央です。
HTML&CSS
<html>
<head>
<title>サンプル</title>
<style type="text/css">
<!--
body { background-image:url(dog.gif);
     background-repeat:no-repeat;
     background-position:left;}
-->
</style>
</head>
<body>
左右の位置が左で、上下の位置が、中央です。
</body>
</html>

firefoxのborder左が表示されない

filrefoxのバグだが、tableにborder-collapse: collapse;を付けていると左側のボーダーが表示されない。他のブラウザは大丈夫

http://www.webbibo.com/blog/htmlcss/collapse-firefox.html

なにやってもダメっぽいので、tableを包含している親コンテンツに左padding 2pxをつけてtableと引っ付かないようにスペースを作って対処した。

izzatのstaff用table

table {
border-collapse: collapse;
margin: 0px;
padding: 0px;
}

#staff-box {
width: 618px;
height: 500px;
overflow: auto;
position: relative;
padding-left: 2px;
}

#staff-box table {
padding: 0px;
margin-top: 0px;
margin-right: 0px;
margin-left: 0px;
box-sizing: border-box;
-webkit-box-sizing: border-box;
}

.th-staff {
text-align: left;
vertical-align: top;
font-size: 12px;
border-collapse: collapse;
line-height: 150%;
padding-top: 5px;
padding-bottom: 5px;
padding-left: 10px;
color: #630;
font-weight: bold;
border: 1px solid #CCC;
}

.td-staff {
text-align: left;
vertical-align: top;
font-size: 12px;
border-collapse: collapse;
line-height: 150%;
padding-top: 5px;
padding-bottom: 5px;
padding-left: 10px;
border: 1px solid #CCC;
}

フルスクリーンの背景画像に動画を設定

スクリプト無し、動画をページの背景いっぱいに表示する方法

レスポンシブにも対応

http://coliss.com/articles/build-websites/operation/work/basic-fullscreen-video-background-by-mattgrosswork.html

 

 

 

/**************************************************************************/

http://www.nxworld.net/tips/css-fullscreen-background-video.html

ここ数年で見かけることも多くなった動画をフルスクリーンで背景表示するのを、スクリプト等は使用せずにCSSのみで実装する方法です。古いIEなども対象ブラウザとなる場合は使用できませんが、モダンブラウザであればCSSのみで簡単に実装できます。

実装にはHTMLとCSSをそれぞれ以下のように記述します。

HTML

<body>
	<video autoplay loop poster="img.jpg">
		<source src="movie.mp4" type="video/mp4">
	</video>
</body>

CSS

body {
	margin: 0;
	padding: 0;
	background: url(img.jpg) center center fixed no-repeat;
}
video {
	position: fixed;
	top: 0; 
	left: 0;
	min-width: 100%;
	min-height: 100%;
	width: auto;
	height: auto;
	z-index: -1;
}

フルスクリーンで表示されるように幅と高さを指定したvideo要素をposition: fixedで配置し、body要素には一応IE8などの非対応ブラウザ用に背景画像を指定しておくというものになります。
(非対応ブラウザは完全に無視ということであればbody要素への記述は必要ありません)
先述したようにほぼ全てのブラウザで同じように表示させたい場合はスクリプトを使って実装することにはなると思いますが、モダンブラウザであればこのようにCSSのみで簡単に実装することができます。

実際の動きは以下で確認できます。

 

 

 

ユニオンのブログのCSS

ブログの数が多くなったのでメンテしやすいように、CSSは全て静的ページ側のcss/に絶対パスでリンクさせて使用。

blog-style.css
blog-common.css
blog-tablet.css
blog-smartphone.css

保存場所  new-union/css

 

CSS 背景画像の拡大と縮小

https://developer.mozilla.org/ja/docs/Web/CSS/Scaling_background_images

 

特別な値の「contain」と「cover」EDIT

CSS の background-size には、 <length> の値の他に、 containcover の 2 つの特別なサイズの値が提示されています。これらについて見てみましょう。

contain

contain は、コンテナとなるボックスのサイズにかかわらず、背景画像は コンテナの対応する辺の長さを超えないように、可能な限り大きくなるようにそれぞれの辺を拡大縮小されるべきことを指定します。下記の実演中の例からこのことを確認するため、 Firefox 3.6 以降のような、背景画像の拡大縮小に対応したブラウザを使って、ウィンドウのサイズを変えてみて下さい。

このウィンドウのサイズを変えて、何が起こるかを見て下さい。

上の例の CSS は以下のようなものです。

width: 100%;
height: 200px;
background-image: url(https://developer.mozilla.org/files/2917/fxlogo.png);
background-size: contain;
border: solid 2px;

cover

cover は、背景画像の両方の寸法が、コンテナの対応するサイズより大きくなる、または同じになることを確保しつつ、背景画像を可能な限り小さい大きさになるべきことを指定します。

このウィンドウのサイズを変えて、何が起こるかを見て下さい。

この例では以下の CSS を使用しています。

width: 100%;
height: 200px;
background-image: url(https://developer.mozilla.org/files/2917/fxlogo.png);
background-size: cover;
border: solid 2px;

flex-wrapの折り返し

http://shanabrian.com/web/css3/flex-wrap.php

 

Flexアイテムの折り返し方を変更する場合は、flex-wrapプロパティ(旧仕様ではbox-linesプロパティ)を使用します。
Flexアイテムは、通常Flexアイテムの合計幅がFlexコンテナーの幅を超えると、Flexアイテムの幅は自動的に縮小していきます(flex-growに応じて縮小の仕方は異なる)が、flex-wrapプロパティを設定することで、折り返すようになります。

なお、flex-wrapプロパティはショートハンドであるflex-flowプロパティの2番目の指定にあたります。

【構文】

flex-wrap:折り返し方法;

指定可能な値

値(旧仕様) 説明
nowrap single 折り返さない(初期値)
wrap multiple 下へ折り返す
wrap-reverse 上へ折り返す

 

ipad iphoneなどのタッチデバイスでscrollが効かない時

http://ochien.seesaa.net/article/357081256.html

-webkit-overflow-scrolling: touch がきかない場合

以前は iOS 系では「スクロールは2本指でできます」とか「iScroll を使いましょう」というのが定番でしたが、-webkit-overflow-scrolling: touch が登場してくれたおかげで、

.scroll {
	overflow-y: auto;
	overflow-x: hidden;
	-webkit-overflow-scrolling: touch;
}

という感じで CSS を書くだけで、1本指で、しかも慣性スクロールできるようになりました。
かなり楽な世の中になりました。

ちなみに Android でも Android 4.0.4 Safari/534.30 であれば、-webkit-overflow-scrolling: touch が動作しました。
が、scroll をつける div などの高さを設定しておかないとスクロールバーが表示されず、スクロールできませんでした。
Android でも -webkit-overflow-scrolling: touch を使いたいのにうまく動作しないという場合は、scroll させたい領域の高さを指定してみることをおすすめします

ページに余分なbodyの余白の背景色が入る min-width

藤田運送でwidth:100%にしている箇所の背景色が一部分bodyの背景色になっている。ウィンドウを狭めるとどんどんその領域がデカくなる。

親要素に100%は依存するためらしい。

min-width:

幅100%による弊害

実際にやってみて分かることは、幅100%の親要素がどこかが大切ということ。今回、水色のブロックの親要素はbodyでした。つまり、ウィンドウ幅500pxの時の横スクロールバーをずらせば、bodyも500px、その子である水色のエリアも幅500pxということです。スクロールバーを横に動かしても、ウィンドウ幅が500pxであれば幅100%の値も500pxなので、今回のように背景が途中で見切れてしまう、という現象が起きるんですね。

この症状の対処法は?

解決方法はいたって簡単で、幅100%のブロックに「min-width」を指定してあげるだけ。例えば、今回の場合は内包ブロック720px以下にならなければいいので、以下のようにすればウィンドウ幅を狭めても720px未満にはなりません。

#wrap {
width:100%;
min-width:720px;}

カラミー グループ箇所のデザイン 余白問題の解決

カテゴリーを更にグループで分類をした時

display: inline-block;にすること。

#group-list span a{
background-image: url(“http://img21.shop-pro.jp/PA01339/866/etc/side_catback2.jpg?cmsp_timestamp=20160302101239”);
background-position: left center;
background-repeat: no-repeat;
display: inline-block;
height: 40px;
line-height: 40px;
margin-bottom: 5px;
padding-bottom: 0px;
width: 225px;
font-size:16px;
text-align:left;
padding-left:5px;
color: #666;
text-decoration: none;
}

 

※inline-blockとは

http://taneppa.net/display-inline-block/

 

 

liのborderの重なり

liで左右にborderを設定すると真ん中の要素のborderが重なり太くなる。liのborderを右だけ設定して、左端のborderはliを包含している他のdivの左borderをつけることによって見た目はすっきりさせられる。

これが正しいかわからないが見た目はそうなる。

中尾清月堂のグランドナビのタブレット部分

#navContainer #navArea {
width: 100%;
height: auto;
border-left-width: 1px;
border-left-style: solid;
border-left-color: #CCC;
border-bottom-style: none;
}

#menu li{
width: 33.3%;
border-bottom-width: 1px;
border-bottom-style: solid;
border-bottom-color: #CCC;
box-sizing: border-box;
border-right-width: 1px;
border-right-style: solid;
border-right-color: #CCC;
}