簡體   English   中英

如何將文本作為疊加層放置在垂直對齊到div左上角的圖像上

[英]How to place a text as a overlay on a image vertically aligned to top left in a div

使用下面的代碼,為什么COMING SOON文本會進一步向右移動而不會向左對齊。 文本必須垂直放置在圖像的左上角

HTML:

<div class="grid">
    <div class="block">
        <div class="badge">NEW</div>
    </div>
    <div class="block">
        <div class="badge">SALE</div>
    </div>
    <div class="block">
        <div class="badge">COMING SOON</div>
    </div>
</div>

CSS:

.grid{display:block;width:100%;}
.block{width:255px;height:255px;border:1px solid #333;margin:12px;float:left;position:relative;}
.badge{position:absolute;transform:rotate(90deg);top:12px;left:0;}

我會把transform:rotate(90deg)放到.block類這里 同時將.badgetop屬性更改為230px

CSS:

.grid{display:block;width:100%;}
.block{transform:rotate(90deg);width:255px;height:255px;border:1px solid #333;margin:12px;float:left;position:relative;}
.badge{position:absolute;top:230px;left:0;}

使用transform-origin 它告訴瀏覽器哪個點應該transform: rotate發生。

查找代碼: http//jsfiddle.net/yv0Lugp8/1/

有關transform-origin的更多信息可以在這里找到

編輯:更新代碼后更改了URL。

tranform-orgin是錯誤的(實際上是缺乏的。)

參見DEMO

以下是相關的CSS

.badge {
    transform:rotate(90deg);
    transform-origin: left top 0;
    float: left;
    position:absolute;
    left: 14px;
}

我還將.badge向左移動了14px以偏移.block 12px邊距和1px邊框。 我添加了float: left.badge 見這篇文章

transform-origin屬性將在這里幫助您。 默認情況下,我認為變換原點位於'.badge'元素的中心,因此當旋轉90度時,文本會遠離'.block'元素。

嘗試更改“徽章”類,如下所示:

.badge {
    position:absolute;
    transform:rotate(90deg);
    transform-origin:0px 15px;
    top:12px;
    left:0;
}

您可能希望移動值以適應您的喜好。

如何放置<div id="text_translate"><p>我在頁面中有一些相互下方的圖像,並希望在圖像上垂直而不是水平添加跨度覆蓋文本。我當前的代碼水平顯示(在 iPhone 屏幕上)跨度覆蓋文本,但我想垂直顯示它並從中讀取自下而上。希望你們幫助我。 謝謝</p><p><a href="https://i.stack.imgur.com/g7mt5.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/g7mt5.png" alt="在此處輸入圖像描述"></a></p><pre> &lt;html&gt; &lt;head&gt; &lt;style&gt; &lt;/style&gt; &lt;script&gt; //here I get the items information from db using ajax method and construct the item information blocks and append it to div called demo &lt;/script&gt; &lt;/head&gt; &lt;body&gt; &lt;div id="demo"&gt; &lt;strong&gt;1)Item 1&lt;/strong&gt;&lt;br&gt; &lt;div style="text-align: right;"&gt;70&lt;br&gt; &lt;/div&gt; &lt;div style="position: relative; z-index: 1;"&gt; &lt;img src="https://assets.adidas.com/images/w_840,h_840,f_auto,q_auto:sensitive,fl_lossy/8e2d81eb3e854642b5dca97600fd73c7_9366/Firebird_Track_Pants_Black_ED6897_25_model.jpg" height="768" width="980" alt="Flower" style="position: absolute; z-index: 2;"&gt; &lt;/div&gt; &lt;span id="overlay_text" style="position: relative; top: -10px; z-index: 3;background-color:white;line-height:50px"&gt;SOLD OUT&lt;/span&gt; &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt; &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt; &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt; &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt; &lt;br&gt; &lt;a href="https://www.mywebsite.com/item1.html"&gt;https://www.mywebsite.com/item1.html&lt;/a&gt; &lt;br&gt;Available Sizes:XS,S,M,L,XL,2XL &lt;br&gt;------------------------------------------------------------------------------------&lt;br&gt; &lt;strong&gt;2)Item 2&lt;/strong&gt;&lt;br&gt; &lt;div style="text-align: right;"&gt;65&lt;br&gt; &lt;/div&gt; &lt;div style="position: relative; z-index: 1;"&gt; &lt;img src="https://assets.adidas.com/images/w_840,h_840,f_auto,q_auto:sensitive,fl_lossy/bf500e3fd9c74e458cf4aaf00125990a_9366/Firebird_Track_Pants_Blue_FM3813_01_laydown.jpg" height="768" width="980" alt="Flower" style="position: absolute; z-index: 2;"&gt; &lt;span id="overlay_text" style="position: relative; top: -10px; z-index: 3;background-color:white;line-height:50px"&gt;&lt;/span&gt;&lt;/div&gt; &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt; &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt; &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt; &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt; &lt;br&gt;&lt;br&gt;&lt;br&gt; &lt;a href="https://www.mywebsite.com/item2.html"&gt;https://www.mywebsite.com/item2.html&lt;/a&gt; &lt;br&gt;Available Sizes:XS,S,M,L,XL,2XL &lt;br&gt;------------------------------------------------------------------------------------&lt;br&gt;</pre><p></p><pre> &lt;/body&gt; &lt;/html&gt;</pre></div>

[英]How to place <span overlay text vertically over an image?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

相關問題 如何使用左對齊的文本疊加層居中圖像 垂直對齊的圖像和文本div 如何放置<div id="text_translate"><p>我在頁面中有一些相互下方的圖像,並希望在圖像上垂直而不是水平添加跨度覆蓋文本。我當前的代碼水平顯示(在 iPhone 屏幕上)跨度覆蓋文本,但我想垂直顯示它並從中讀取自下而上。希望你們幫助我。 謝謝</p><p><a href="https://i.stack.imgur.com/g7mt5.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/g7mt5.png" alt="在此處輸入圖像描述"></a></p><pre> &lt;html&gt; &lt;head&gt; &lt;style&gt; &lt;/style&gt; &lt;script&gt; //here I get the items information from db using ajax method and construct the item information blocks and append it to div called demo &lt;/script&gt; &lt;/head&gt; &lt;body&gt; &lt;div id="demo"&gt; &lt;strong&gt;1)Item 1&lt;/strong&gt;&lt;br&gt; &lt;div style="text-align: right;"&gt;70&lt;br&gt; &lt;/div&gt; &lt;div style="position: relative; z-index: 1;"&gt; &lt;img src="https://assets.adidas.com/images/w_840,h_840,f_auto,q_auto:sensitive,fl_lossy/8e2d81eb3e854642b5dca97600fd73c7_9366/Firebird_Track_Pants_Black_ED6897_25_model.jpg" height="768" width="980" alt="Flower" style="position: absolute; z-index: 2;"&gt; &lt;/div&gt; &lt;span id="overlay_text" style="position: relative; top: -10px; z-index: 3;background-color:white;line-height:50px"&gt;SOLD OUT&lt;/span&gt; &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt; &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt; &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt; &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt; &lt;br&gt; &lt;a href="https://www.mywebsite.com/item1.html"&gt;https://www.mywebsite.com/item1.html&lt;/a&gt; &lt;br&gt;Available Sizes:XS,S,M,L,XL,2XL &lt;br&gt;------------------------------------------------------------------------------------&lt;br&gt; &lt;strong&gt;2)Item 2&lt;/strong&gt;&lt;br&gt; &lt;div style="text-align: right;"&gt;65&lt;br&gt; &lt;/div&gt; &lt;div style="position: relative; z-index: 1;"&gt; &lt;img src="https://assets.adidas.com/images/w_840,h_840,f_auto,q_auto:sensitive,fl_lossy/bf500e3fd9c74e458cf4aaf00125990a_9366/Firebird_Track_Pants_Blue_FM3813_01_laydown.jpg" height="768" width="980" alt="Flower" style="position: absolute; z-index: 2;"&gt; &lt;span id="overlay_text" style="position: relative; top: -10px; z-index: 3;background-color:white;line-height:50px"&gt;&lt;/span&gt;&lt;/div&gt; &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt; &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt; &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt; &lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt; &lt;br&gt;&lt;br&gt;&lt;br&gt; &lt;a href="https://www.mywebsite.com/item2.html"&gt;https://www.mywebsite.com/item2.html&lt;/a&gt; &lt;br&gt;Available Sizes:XS,S,M,L,XL,2XL &lt;br&gt;------------------------------------------------------------------------------------&lt;br&gt;</pre><p></p><pre> &lt;/body&gt; &lt;/html&gt;</pre></div> 將左對齊文本與右對齊圖像垂直對齊 在div邊框左上方疊加圖像 圖片文字在div內左對齊 如何在div的左上角邊框內放置文本 如何使圖像相對於左側的動態div在中心垂直對齊? 文本在div的中間未垂直對齊 將文字放在圖片的左上方,並在頂部和左側偏移百分比
 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM