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

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

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

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

CSS

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

Q&A

解決済

1回答

3343閲覧

box-Shadowをつけた時にしたの枠線以外を表示しない

pegy

総合スコア243

CSS3

CSS(Cascading Style Sheet)の第3版です。CSS3と略されることが多いです。色やデザインを柔軟に変更することが可能になります。

CSS

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

0グッド

0クリップ

投稿2017/03/31 04:38

下記のようにdiv#headerにbox-shadowを施していて、下の線だけ影を表示させるため
border-bottom: solid 1px #cccをしているのですが、左、上、右もborderが表示されてしまいます。

divを使用してbox-shadowで下線だけ影付きで表示(下線以外は線自体を表示しない)
するにはどのようにすればよいかアドバイスを頂ければ幸いです。
宜しくお願い申し上げます。

HTML

1 <div id="header-1412" class="clearfix"> 2 <div id="header"> 3 <h1><a href="http://home.php" title="toppage"><img src="./C_image/home/logo.gif" width="140" height="100" alt="Null" /></a></h1> 4 </div> 5 6 7 <div id="topbar"> 8 <ul id="topbarcontainer"> 9 <li>工事中</li><!-- 10 --><li>工事中</li><!-- 11 --><li>工事中</li><!-- 12 --><li id="topbarcontainer_right">工事中</li> 13 </ul> 14 </div> 15 16 17 18 </div>

CSS

1=========================================================== */ 2 3div#header { 4 width: 100%; 5 position: relative; 6 height: 125px; 7 /*z-index: 100;*/ 8 background-color: #fff; 9 border-bottom: solid 1px #ccc; 10 -webkit-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.20); 11 box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.20); 12 /*z-index: 99900;*/ 13 14} 15 16/* 17----------------------------------------------------------- */ 18 19div#headerlogo h1 { 20 position: absolute; 21 top: 10px; 22 left: 150px; 23 font-size: 11px; 24 line-height: 1; 25} 26/* 27----------------------------------------------------------- */ 28div#topbar { 29position: absolute; 30font-size: 20px; 31font-family:serif; 32font-weight: bold; 33width: 900px; 34left:350px; 35bottom:0px; 36} 37/*----------------------------------------------------------- */ 38 39ul#topbarcontainer li { 40display: inline-block; 41width:200px; 42height:50px; 43border-left: #ababab 1px solid; 44text-align: center; 45 46} 47/*----------------------------------------------------------- */ 48#topbarcontainer_right{ 49 border-right: #ababab 1px solid; 50} 51/*----------------------------------------------------------- */ 52div#topbar ul{ 53 margin: 0 0 0 1em; 54 padding: 0; 55 line-height: 50px; 56} 57

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

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

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

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

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

guest

回答1

0

ベストアンサー

まず、box-Shadowを表示するためにborder-bottomを使う必要はありません。双方関係のないプロパティです。box-Shadowはあくまで要素ボックスに付くものなので、「上だけ」とかは指定できません。

なので pegyさんの考えておられるものが実現できるかはわかりませんが、下記のようにすれば一応下だけに影がある、ということは実現出来ます。

CSS

1div#header { 2 width: 100%; 3 position: relative; 4 height: 125px; 5 background-color: #fff; 6 /* 7 border-bottom: solid 1px #ccc; 8 -webkit-box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.20); 9 box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.20); 10 */ 11 -webkit-box-shadow: 0 15px 10px -10px rgba(0, 0, 0, 0.2); 12 box-shadow: 0 15px 10px -10px rgba(0, 0, 0, 0.2); 13 14} 15```**動くサンプル:**[https://jsfiddle.net/aw54t8wd/](https://jsfiddle.net/aw54t8wd/)

投稿2017/03/31 06:04

kei344

総合スコア69407

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

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

pegy

2017/03/31 08:30

kei344様 いつもご回答有難うございます。とても助かりました。サンプルまでありがとうございます(涙) 重ねてで恐縮ですが、このように表示した場合、下線の両端のブラウザの淵との間に隙間ができてしまうのですがChromeのtoolでみるとmarginが8pxずつられてしまっています。これをmargin: 0px 0px 0px 0px;で強制的に消しても間が空いてしまうのですが、もし原因が分かればアドバイスを頂けますでしょうか。イメージとしてはこの下線がブラウザと接しているはずなのですが。。。
kei344

2017/03/31 08:40

どこの部分でしょうか?サンプルのことを言っているのであれば、 body { margin: 0; } でもためしてみてください。
pegy

2017/03/31 09:35

コメント頂き有難うございます。 確認をさせて頂きます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問