I was looking for having CSS for tags like this:
But my current tags look like this:
See txpower and alfa are tags.
Here’s the CSS I am using:
.discourse-tag.box {
border: 1px solid #595959;
border-radius: 3px;
background-color: transparent;
padding: 1px 6px;
font-weight: bold;
}
For the sake of differentiability, I wanted my tags to look like real tags, but CSS from the internet is breaking the discourse’s CSS in unimaginable ways. and I just can’t get it right. Can anyone help with the CSS changes I need?
「いいね!」 1
dax
(Daniela)
2018 年 10 月 23 日午後 12:25
2
I was looking to use something similar years ago, you can try to use this and customize it as you wish
.discourse-tag.box {
position: relative;
display: inline-block;
text-decoration: none;
background-color: #bfbfbf !important;
height: 26px;
line-height: 26px;
padding: 0 20px 0 23px;
margin: 0 10px 0 0;
}
.discourse-tag.box::before {
position: absolute;
content: '';
background: #fff;
border-radius: 100%;
height: 6px;
left: 10px;
width: 6px;
top: 10px;
box-shadow: inset 0 1px rgba(0, 0, 0, 0.25);
}
.discourse-tags .discourse-tag.box::after {
position: absolute;
content: '';
background: #fff;
border-bottom: 13px solid transparent;
border-left: 10px solid #bfbfbf;
border-top: 14px solid transparent;
right: 0;
top: 0;
}
a.discourse-tag.box {
color: #fff !important;
}
Almost certainly if you have plugins that add elements to the title, as the voting plugin you will need to make corrections.
「いいね!」 13
Awesome! I made some edits like colours and width equal to category and here is my CSS for that:
.discourse-tag.box {
position: relative;
display: inline-block;
text-decoration: none;
background-color: #646464 !important;
border-radius: 3px 0 0 3px;
height: 21px;
line-height: 21px;
padding: 0 13px 0 22px;
margin: 0 10px 0 0;
}
.discourse-tag.box::before {
position: absolute;
content: '';
background: #000;
border-radius: 100%;
height: 6px;
left: 8px;
width: 6px;
top: 8px;
box-shadow: inset 0 1px rgba(0,0,0,0.25);
}
.discourse-tags .discourse-tag.box::after {
position: absolute;
content: '';
background: black;
border-bottom: 11px solid transparent;
border-left: 10px solid #646464;
border-top: 10px solid transparent;
right: 0;
top: 0;
}
a.discourse-tag.box {
color: #d4d4d4 !important;
}
Note that I disabled my earlier CSS Completely as it was conflicting with the newer one. and made it honor the black theme
Here is what it looks like:
Although I did want to have the triangle on the left hand side which is more real-like and gives a sense of real tag. which is tied from the triangular end and flat on the other end. But nevermind. I’ll learn some CSS and would post update to it.
Thanks a lot for your code @dax ! You are awesome!
「いいね!」 8
Nice CSS code snippet Thanks!
I experienced a minor issue with my css code: Not sure why, but with Safari and Chrome (!) …
… on my iPhone 8+, all of the tags have a thin line on the right next to the flap.
… on my iPad mini 4, only some thin lines will appear on the right next to the flap. (e.g. tags with 2 characters)
… on my Mac everything is just fine
It seems, the “after” css container is repeating itself. How can I fix this?
I made them a litte bit thinner …
See CSS Code
.discourse-tag.box {
position: relative;
display: inline-block;
text-decoration: none;
font-weight: normal;
background-color: #e28a54 !important;
border-radius: 3px 0 0 3px;
height: 20px;
line-height: 20px;
padding: 0 13px 0 21px;
margin: 0 10px 0 0;
}
.discourse-tag.box::before {
position: absolute;
content: '';
background: #ffffff;
border-radius: 100%;
height: 6px;
left: 7px;
width: 6px;
top: 7px;
box-shadow: inset 0 1px rgba(0,0,0,0.25);
}
.discourse-tags .discourse-tag.box::after {
position: absolute;
content: '';
background: white;
border-bottom: 11px solid transparent;
border-left: 10px solid #e28a54;
border-top: 10px solid transparent;
right: 0;
top: 0;
}
a.discourse-tag.box {
color: #fff !important;
}
「いいね!」 2
dax
(Daniela)
2018 年 10 月 23 日午後 7:06
5
Just delete the line border-radius: 3px 0 0 3px;
This fix the thin line problem on IOS (and Chrome) for short tags (thanks to @simon that help me to debug with his Mac).
I will update the code above
PS. I have no Iphone, so check if the fix works even there
「いいね!」 5
terraboss:
… on my iPhone 8+, all of the tags have a thin line on the right next to the flap.
… on my iPad mini 4, only some thin lines will appear on the right next to the flap. (e.g. tags with 2 characters)
… on my Mac everything is just fine
That’s exactly my issue. In some lines with 2 tags, I see a flap on my iOS device, both safari and chrome. But seems to work fine on on MacOS.
Apart from that, can you change the direction of the triangle in the Tag, like this: I tried my beginner CSS skills but couldn’t achieve that. Can you help me out with that?
I changed color of my code to Red (my theme color) and it looks awesome as yours
But using colours on tags drives focus on tags constantly rather than the titles which are more important. So I’d still keep the tags in kind of background and content in front.
Here is what it looks like:
Just in case somebody else want a red tag on black theme. here is my CSS code for that:
CSS for Red Tag on Black Background
.discourse-tag.box {
position: relative;
display: inline-block;
text-decoration: none;
font-weight: normal;
background-color: #9c0c16 !important;
border-radius: 3px 0 0 3px;
height: 20px;
line-height: 20px;
padding: 0 13px 0 21px;
margin: 0 10px 0 0;
}
.discourse-tag.box::before {
position: absolute;
content: ‘’;
background: #000 ;
border-radius: 100%;
height: 6px;
left: 7px;
width: 6px;
top: 7px;
box-shadow: inset 0 1px rgba(0,0,0,0.25);
}
.discourse-tags .discourse-tag.box::after {
position: absolute;
content: ‘’;
background: #000 ;
border-bottom: 11px solid transparent;
border-left: 10px solid #9c0c16 ;
border-top: 10px solid transparent;
right: 0;
top: 0;
}
a.discourse-tag.box {
color: #fff !important;
font-weight: bold;
}
「いいね!」 1
Commenting the code did help. but we loose the beauty of the tag.
look:
flat edges
「いいね!」 1
Alternatively, to restyle the bullet to a tag icon:
.discourse-tag.bullet::before {
font-size: 1.0em;
top: 0em;
margin-right: 3px;
content: "\f02b";
color: #ccc;
}
for:
「いいね!」 4
That’s also quite cool.
It is space saver and doesn’t drive focus away from the main content!
Thanks for sharing
For people who might discover issue. Just change the tag type from box to bullet in Admin > Settings
「いいね!」 1
タグが長方形ではなく、実際のタグのように見えるというこのアイデアには賛成です。ただし、CSS だけでは不十分で、少なくともこの解決策ではダメです。これは三角形が見えない黒背景の場合にのみ機能します。
それ以外の場合は、以下のように見えます:
これをより良い方法で行う必要があります。https://codepen.io/matt-harris/pen/GqFev
「いいね!」 1
HeyRR
2020 年 8 月 2 日午後 9:35
11
Alternatively, to restyle the bullet to a tag icon:
.discourse-tag.bullet::before {
font-size: 1.0em;
top: 0em;
margin-right: 3px;
content: "\f02b";
color: #ccc;
}
for:
[21]
このソリューションはもはや機能しないようです。更新されたバージョンがあります:
(これはタグタイプ「bullet」用です。元のスタイルが異なる場合、CSS セレクターも異なります。)
@import url("https://use.fontawesome.com/releases/v5.13.0/css/all.css");
.discourse-tag.bullet::before {
top: 0em;
margin-right: 5px;
content: "\f02b";
color: #bbbdbb;
background: none;
height: 16px; /* モバイルビューでは少し調整が必要な場合があります */
font-weight: 900;
font-size: 0.9em;
font-family: "Font Awesome 5 Free"; /* これが正しい font-family です */
}
または、https://use.fontawesome.com/releases/v5.13.0/css/all.css の全体を読み込む不要な負荷を減らすために、@import 行を削除し、SVG をコンテンツとして使用することもできます:
content: url('data:image/svg+xml; utf8, <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512" height="10" width="10" ><path fill="grey" d="M0 252.118V48C0 21.49 21.49 0 48 0h204.118a48 48 0 0 1 33.941 14.059l211.882 211.882c18.745 18.745 18.745 49.137 0 67.882L293.823 497.941c-18.745 18.745-49.137 18.745-67.882 0L14.059 286.059A48 48 0 0 1 0 252.118zM112 64c-26.51 0-48 21.49-48 48s21.49 48 48 48 48-21.49 48-48-21.49-48-48-48z"/></svg>');
すべての SVG はこちらで確認できます:
Font Awesome split to individual SVG and PNG files of different sizes along with Node.JS based generator
「いいね!」 3
私の場合は動作しましたが、.discourse-tag.bullet::before ではなく、以下のコードでした:
@import url("https://use.fontawesome.com/releases/v5.13.0/css/all.css");
.discourse-tag.box::before {
top: 0em;
margin-right: 5px;
content: "\f02b";
color: #bbbdbb;
background: none;
height: 16px; /* モバイル表示用に少し調整が必要かもしれません */
font-weight: 900;
font-size: 0.9em;
font-family: "Font Awesome 5 Free"; /* これが正しい font-family です */
}
.extra-info-wrapper .discourse-tag.box {
background:none;
}
.discourse-tag.box {
background:none;
}
「いいね!」 2
HeyRR
2020 年 8 月 3 日午前 1:22
13
付け忘れましたが、私のコードはバレットタイプのタグ用です。そのため、元のスタイルが異なる場合、CSSセレクターも異なります。