2016-01-23 43 views
3

我的主頁上有一個左右兩個可滾動的表格,其中包含兩行和三十多個以及不斷增加的列。它看起來像這樣:表格元素左上角的標記

enter image description here

但我想補充的「標誌」像這樣一些頭銜:

enter image description here

我怎麼能添加「標誌」,而無需繪製透明PNG並將其放在頂層。我正在考慮使用畫布,但我怎麼能畫出那些不是正方形的「旗幟」,並將它們放在每張桌子的右上角?


ADD

我喜歡@裏克 - 希區柯克的答案,看起來真的很簡單,我想實現它變成我的網頁。但「旗幟」似乎不會呈現。

這裏是我是如何實現它:

table.index{ 
 
    table-layout: fixed; 
 
    border-spacing: 20px; 
 
} 
 
table.index td { 
 
    height: 190px; /*iz tega se preračuna višina slike v %*/ 
 
    width: 190px; /*iz tega se preračuna širina slike v %*/ 
 
    min-width: 190px; /*ne smejo biti manjši - tabela se širi*/ 
 
    position: relative; /*da deluje spodnja vrstica*/ 
 
    overflow: hidden; 
 
    border-radius: 5px; 
 
    border: 1px solid #1A1A1A; 
 
    background-color: rgba(0, 0, 0, 0.90); 
 
    box-shadow: 0px 0px 8px #000000; 
 
    -moz-box-shadow: 0px 0px 8px #000000; 
 
    -webkit-box-shadow: 0px 0px 8px #000000; 
 
    vertical-align: middle; 
 
    text-align: center; 
 
    padding: 5px 5px 5px 5px; 
 
} 
 
table.index td img { 
 
    position: absolute; 
 
    top: 0; 
 
    left: 0; 
 
    height: auto; 
 
    width: 100%; 
 
    z-index: -1; 
 
    -webkit-transition: all 1.5s ease; 
 
    -moz-transition: all 1.5s ease; 
 
    -o-transition: all 1.5s ease; 
 
    -ms-transition: all 1.5s ease; 
 
    transition: all 1.5s ease; 
 
} 
 
table.index td a{ 
 
    color: #FF3C3F; 
 
} 
 
table.index td p.napis{ 
 
    opacity: 0.0; 
 
    color: white; 
 
    text-shadow: 0px 0px 2px #555555; 
 
    font-size: 14px; 
 
    font-family: ss9; 
 
    -webkit-transition: all 1.5s ease; 
 
    -moz-transition: all 1.5s ease; 
 
    -o-transition: all 1.5s ease; 
 
    -ms-transition: all 1.5s ease; 
 
    transition: all 1.5s ease; 
 
} 
 
table.index td:hover p.napis{ 
 
    opacity: 1.0; 
 
} 
 
table.index td:hover{ 
 
    box-shadow: 0px 0px 15px #000000; 
 
    -moz-box-shadow: 0px 0px 15px #000000; 
 
    -webkit-box-shadow: 0px 0px 15px #000000; 
 
} 
 
table.index td:hover img { 
 
    -webkit-filter: blur(2px) opacity(20%); 
 
    -o-filter: blur(2px) opacity(20%); 
 
    -ms-filter: blur(2px) opacity(20%); 
 
    filter: blur(2px) opacity(20%); 
 
} 
 
div.index { 
 
    width: 100%; 
 
    overflow-x: auto; 
 
    overflow-y: hidden; 
 
    -ms-overflow-y: hidden; 
 
} 
 

 

 
<!-- THE CODE YOU PROVIDED--> 
 

 
.container { 
 
    position: relative; 
 
    overflow: hidden; 
 
    display: inline-block; 
 
} 
 

 
.discount, .event { 
 
    position: absolute; 
 
    top: 0; 
 
    transform: rotate(-45deg); 
 
    transform-origin: 50% 250%; 
 
    width: 10em; 
 
    padding: 0.3em 0; 
 
    text-align: center; 
 
    border: 1px solid #333; 
 
    font: 14px verdana; 
 
} 
 

 
.discount { 
 
    background: #cfc; 
 
} 
 

 
.event { 
 
    background: yellow; 
 
}
<section class="index"> 
 
    <div class="index"> 
 
    <table class="index"> 
 
     <tr> 
 
     <td> 
 
      <div class="container"> 
 
      <div class="discount">Discount</div> 
 
      <img src="../slike/index/2016-01-18-embedded_world.jpg"/> 
 
      <p class="napis"> 
 
       Obiskali bomo sejem <a href="https://www.embedded-world.de/en" target="_blank">Embedded world</a> v Nürnbergu, kjer si bomo ogledali najnovejšo tehnologijo na področju vgrajenih sistemov. Dijaki ŠC Kranj lahko pri meni prevzamete štiri brezplačne karte z vključenim prevozom! 
 
      </p> 
 
      </div> 
 
     </td> 
 
     </tr> 
 
    </table> 
 
    </div> 
 
</section>

出於某種原因,它不會呈現爲「標記」,但只有爲文本。通常情況下,它看起來像這樣:

Image of a single tile

和鼠標胡佛它看起來像:

The same tile in it's hovered state (a text overlay) but it's missing the all important banner

這是我webpage,如果你想看看。

+1

您提供的代碼有效,也許您需要等待新代碼上傳到您的網站才能看到結果。 – jaunt

回答

4

您可以使用CSS3 transform旋轉包含該標誌的DIV。

爲了讓徘徊在表格單元格當標誌消失了,你可以這樣做:

td:hover .discount, td:hover .event { 
    display: none; 
} 

這使得它消失/重新出現,立即,這可能有點不和諧。或者,你可以轉換其不透明度是這樣的:

.discount, .event { 
    transition: 0.5s; 
} 

td:hover .discount, td:hover .event { 
    opacity: 0; 
} 

段:

.index td { 
 
    position: relative;   /* make the flags relative to their parent td */ 
 
    overflow: hidden;   /* prevent the flags from overflowing the cell */ 
 
} 
 

 
.discount, .event { 
 
    position: absolute;   /* position the flag absolutely within container */ 
 
    top: 0;      /* top of container */ 
 
    transform: rotate(-45deg); /* rotate counterclockwise 45 degrees */ 
 
    transform-origin: 50% 250%; /* experiment to find best placement */ 
 
    width: 10em;     /* width of flag */ 
 
    text-align: center;   /* center the flag's text */ 
 
    padding: 0.3em 0;   /* top and bottom padding */ 
 
    border: 1px solid #333;  /* dark border */ 
 
    transition: 0.5s;   /* transition changed styles in half a second */ 
 
    font: 14px verdana; 
 
} 
 

 
.discount { 
 
    background: #cfc;   /* light green */ 
 
} 
 

 
.event { 
 
    background: yellow; 
 
} 
 

 
.index img { 
 
    width: 150px; 
 
    border: 1px solid black; 
 
} 
 

 
td:hover .discount, td:hover .event { 
 
    opacity: 0; 
 
}
<table class="index"> 
 
    <td> 
 
    <div class="discount">Discount</div> 
 
    <img src="http://ziga-lausegger.com/slike/index/2016-01-18-embedded_world.jpg"/> 
 
    <td> 
 
    <div class="event">Event</div> 
 
    <img src="http://ziga-lausegger.com/slike/index/2015-12-06-comptech.png"> 
 
</table>

+0

我試圖實現這個到我的網頁,但它不呈現標誌。你可以看看我的問題添加。我的桌子有可能干擾你提供的代碼嗎? – 71GA

+0

這可能是有矛盾的風格。如果你在網站上提供了一個顯示行爲的測試頁面,我很樂意看看它。 –

+0

我已經更新了我的答案,並考慮了您的表格佈局。 –

1

我認爲你正在尋找的東西是這樣的:https://jsfiddle.net/DIRTY_SMITH/hywos6cx/

.wrapper { 
    margin: 50px auto; 
    width: 150px; 
    height: 150px; 
    background: white; 
    border-radius: 10px; 
    -webkit-box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.3); 
    -moz-box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.3); 
    box-shadow: 0px 0px 8px rgba(0, 0, 0, 0.3); 
    position: relative; 
    z-index: 90; 
} 

.ribbon-wrapper-green { 
    width: 85px; 
    height: 88px; 
    overflow: hidden; 
    position: absolute; 
    top: -3px; 
    right: -3px; 
} 

.ribbon-green { 
    font: bold 15px Sans-Serif; 
    color: #333; 
    text-align: center; 
    text-shadow: rgba(255, 255, 255, 0.5) 0px 1px 0px; 
    -webkit-transform: rotate(45deg); 
    -moz-transform: rotate(45deg); 
    -ms-transform: rotate(45deg); 
    -o-transform: rotate(45deg); 
    position: relative; 
    padding: 7px 0; 
    left: -5px; 
    top: 15px; 
    width: 120px; 
    background-color: #BFDC7A; 
    background-image: -webkit-gradient(linear, left top, left bottom, from(#BFDC7A), to(#8EBF45)); 
    background-image: -webkit-linear-gradient(top, #BFDC7A, #8EBF45); 
    background-image: -moz-linear-gradient(top, #BFDC7A, #8EBF45); 
    background-image: -ms-linear-gradient(top, #BFDC7A, #8EBF45); 
    background-image: -o-linear-gradient(top, #BFDC7A, #8EBF45); 
    color: #6a6340; 
    -webkit-box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.3); 
    -moz-box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.3); 
    box-shadow: 0px 0px 3px rgba(0, 0, 0, 0.3); 
} 

.ribbon-green:before, 
.ribbon-green:after { 
    content: ""; 
    border-top: 3px solid #6e8900; 
    border-left: 3px solid transparent; 
    border-right: 3px solid transparent; 
    position: absolute; 
    bottom: -3px; 
} 

.ribbon-green:before { 
    left: 0; 
} 

.ribbon-green:after { 
    right: 0; 
} 
+0

這個anwser看起來更漂亮,但我覺得會更難實現。 – 71GA

相關問題