0

キャプション テキストを画像と同じ幅のままにしたいと思います (1 つの固定幅を設定せずに)。などで遊んでみましたが、それを制御するのはさらに困難です。

CSSのサンプルはこちら。これがここで質問する適切な方法であることを願っています!

<head>
  <style type="text/css">
    <!--
        #floatrightphoto {
        float:right;
        padding: 6px;
        margin-left: 2px;
        margin-top: 3px;
        margin-bottom: 2px;
        margin-right: 0px;
        border-top-width: 1px;
        border-right-width: 1px;
        border-bottom-width: 1px;
        border-left-width: 1px;
        border-top-style: solid;
        border-right-style: solid;
        border-bottom-style: solid;
        border-left-style: solid;
        border-top-color: #CCEE77;
        border-right-color: #AFE165;
        border-bottom-color: #AFE165;
        border-left-color: #CCEE77;
        background-color: #CCFF99;
        }

        #floatrightphoto  p{
        font-weight: normal;
        color: #889260;
        float: left;
        margin-bottom: -3px;
        margin-top: 0px;
        margin-right: 1px;
        margin-left: 0px;
        text-align: right;
        font-family: "Comic Sans MS", Ariel;
        font-style: oblique;
        font-size: 14px;
        line-height: 16px;
        position: static;
        display: inherit;
        }
        body {
        width: 750px;
        }
        -->
  </style>
</head>
<body>
  <div id="floatrightphoto">
    <img src="somephoto" width="180" height="180">
      <br>
        <p>Caption Caption Caption Caption Caption Caption Caption
        Caption Caption</p>
      </br>
    </img>
  </div>
</body>
4

1 に答える 1

0

おっと、それは余分な毛羽立ちです。私は同じ解決策を探しています。

私はこの解決策に出くわしました(あなたが望むものを反映するように修正されました):

#img-right{display: table; min-width: 1px; float:right; margin-left: 10px;}
#img-right p {display: table-caption; caption-side: bottom;}

ただし、これはほとんどすべてのブラウザーで機能しますが、IE#img-rightではキャプションの全幅にまたがります (キャプションは画像自体よりも長く、折り返されません)。IE は他のブラウザでも完全に動作するため、IE を動作させる方法をまだ見つけようとしています。

他のコードについては、ロード時間を短縮するために少し単純化することをお勧めします。CSS を少し変更しました...ID の名前を小さくして読みやすくすることをお勧めします。Comic Sans は絶対に使用しないでください:)

body { width: 750px; }
#img-right {
        float:right;
        padding: 6px;
        margin: 3px 2px 2px 0px;
        border-top: 1px solid #ccee77;
        border-left: 1px solid #ccee77;
        border-bottom: 1px solid #afe165;
        border-right: 1px solid #afe165; 
        background: #ccff99;
        }

#img-right p{
        font: italic 14px/16px Helvetica, Arial, Lucida Sans, Verdana;  
        color: #889260;
        float: left;
        margin: 0px 0px -3px 1px;
        text-align: right;
        }
于 2013-06-12T23:30:12.770 に答える