0

我想让标题文本保持与图像相同的宽度(不设置一个固定宽度)。我试过玩弄 等,但这更难控制。

这是 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,在 IE 中,我#img-right跨越了标题的整个宽度(标题比图像本身长并且它不换行)。我仍在试图弄清楚如何使 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 回答