
現在独学でHTML5とCSS3の勉強をしています。
写真を角丸加工してそれにCSSで「box-shadow」プロパティで影を付けようとすると、角丸でカットした部分が白く残ってしまいます。
また、「border-radius」で角丸にしても同じです。
写真のサイズを300×225pxにした場合、写真を角丸にしても(カット部分は透明にしてあります)、ボーダーで角丸にしても結局は長方形のスペースはそのまま残ってしまうと言う事ですか。
写真を角丸加工して影を付けたい場合は、フォトショップなどで加工したものを貼り付けるしかないのでしょうか。
ごまかしで右隅のカットした部分を黒に塗っておけばそれらしくは見えるのですが。
CSSで処理ができれば1回の設定でできると考えたのですが、やはり甘い考えだったのでしょうか。
宜しくお願い致します。
No.2ベストアンサー
- 回答日時:
HTML5でしたら、divを使う機会は劇的に減るでしょう。
画像の加工の必要はありません。
display:hiddenの必要もありません。
★置換インライン要素であるimgをblockに変更するだけです。
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
<section class="photo">
<h2>
<p>
画像を角丸で置いてみる。
</p>
<figure><img src="" width="" height="" alt=""></figure>
<p>
スタイルシートは下記のようになります。
</p>
<pre></pre>
</section>
のHTMLとすると・・・・
★タブは_に置換してあります。
<!doctype html>
<head>
_<meta charset="utf-8">
_<title>サンプル</title>
_<meta name="description" content="">
_<meta name="author" content="IRUKA">
_<link rel="stylesheet" href="css/style.css">
<style media="screen">
<!--
html,body{margin:0;padding:0;background-color:silver;}
header,section,footer{width:80%;margin:0 auto;}
section figure img{
_display:block;
_border-radius:20px;
_box-shadow: 10px 10px 10px 10px rgba(0,0,0,0.4);
_margin:0 auto;
/* ブラウザベンダーフィックス */
_-moz-border-radius: 0.5em;
_-webkit-border-radius: 20px;
_-o-border-radius: 20px;
_-ms-border-radius: 20px;
_-moz-box-shadow: 10px 10px 10px rgba(0,0,0,0.4);
_-webkit-box-shadow: 10px 10px 10px rgba(0,0,0,0.4);
_-o-box-shadow: 10px 10px 10px rgba(0,0,0,0.4);
_-ms-box-shadow: 10px 10px 10px rgba(0,0,0,0.4);
}
pre{
_background-color:white;
_padding: 0.5em 1em;
}
-->
</style>
</head>
<body>
_<header>
__<h1 id="title">Your title</h1>
__<nav>
___<ul>
____<li><a href="#">Some</a></li>
____<li><a href="#">navigation</a></li>
____<li><a href="#">links</a></li>
___</ul>
__</nav>
_</header>
_<section class="photo">
__<h2>画像に影をつける</h2>
___<p>
____画像を角丸で置いてみる。
___</p>
___<figure><img src="./images/5.jpg" width="480" height="360" alt=""></figure>
___<p>
____スタイルシートは下記のようになります。
___</p>
___<pre>section figure img{
display:block;
border-radius:20px;
box-shadow: 10px 10px 10px 10px rgba(0,0,0,0.4);
margin:0 auto;
}</pre>
_</section>
_<footer>
__<h3>A nice footer</h3>
_</footer>
</body>
</html>
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
htmlの文字が縦書きになる
-
widthやheightの数値に単位(px...
-
ページを拡大縮小でborderが消...
-
中点「・」の改行について
-
css初心者 フレックスボックス...
-
form input テキストを上下中央...
-
z-indexで上になっている要素だ...
-
入力フォームとセレクトボック...
-
FC2ショッピングカート 写真の...
-
HTMLで文字が重なって表示されます
-
スクロールボックスを中央に配...
-
divで囲まれたpaddingの指定を...
-
CSSでborderの指定を解除する記...
-
footer を横幅いっぱいに広げる...
-
画像と一緒にスライドするリン...
-
背景が下まで表示されないんです。
-
IEとFireFoxでの指定位置のズレ...
-
投稿フォームの整列
-
ライトボックスでスクロールバー
-
【CSS】ヘッダーの高さが不明の...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
htmlの文字が縦書きになる
-
widthやheightの数値に単位(px...
-
【CSS】ヘッダーの高さが不明の...
-
css初心者 フレックスボックス...
-
form input テキストを上下中央...
-
画像イメージの上下左右、欲し...
-
余分な縦スクロールバーが出て...
-
CSSがなぜかfont-sizeだけ効か...
-
<div>と<div>の間の10px程の...
-
htmlでheightが自動で延長
-
画像リンクの下に文字を付けた...
-
ネガティブマージン
-
table周辺の隙間をなくしたい。
-
入力フォームとセレクトボック...
-
定義リストに下線をつけたいと...
-
ライトボックスでスクロールバー
-
footer を横幅いっぱいに広げる...
-
CSSについて。このサイトの背景...
-
テーブルのセル間に余白が空い...
-
XHTML+CSS で、ブラウザごとに...
おすすめ情報