DIV 中的文字未显示
Text in the DIV not showing
我需要使用此 形状 并在其中 显示文本 。但是,我不知道为什么文字 不显示 。
HTML:
<div id="thebag">
<h3> Shihab Mridha </h3>
</div>
CSS:
#thebag{
position: relative;
overflow: hidden;
}
#thebag::before{
content: '';
position: absolute;
top: 0;
left: 0;
height: 50px;
width: 30%;
background: red;
}
#thebag::after {
content: '';
position: absolute;
top: 0;
left: 30%;
width: 0;
height: 0;
border-bottom: 50px solid red;
border-right: 70px solid transparent;
}
您需要将 position: relative
(或 position: inherit
,因为它与父项相同)添加到您的 #thebag h3
class。目前,您的 CSS 样式仅影响 h3
的父级 — 为了使 h3
与文本一起显示,您需要为其定义 CSS 样式。
您需要使用 postion:relative
属性:
#thebag h3{
postion:relative;
}
小说明:
position: relative
将布局相对于自身的元素。换句话说,元素按正常流布置,然后从正常流中移除并偏移您指定的任何值(上、右、下、左)。重要的是要注意,因为它已从流中移除,所以它周围的其他元素不会随之移动(如果你想要这种行为,请使用负边距)。
但是,您很可能对 position: absolute
感兴趣,它会相对于容器定位元素。默认情况下,容器是浏览器 window,但如果父元素设置了 position: relative 或 position: absolute
,那么它将作为父元素为其子元素定位坐标。
请检查此片段:
您还可以 re-structure 您的 HTML
和 CSS
如下:
HTML
<span class="start">Shihab Mridha</span>
<span class="end"></span>
CSS
.end {
height:0;
width:0;
float: left;
display: block;
border:10px solid #0f92ba;
border-top-color:transparent;
border-right-color:transparent;
border-bottom-color:#0f92ba;
border-left-color:#0f92ba;
}
.start{
height: 20px;
width: 60px;
float: left;
background: #0f92ba;
display: block;
color:#FFFFFF;
}
参考 Link : https://solutionstationbd.wordpress.com/2011/12/21/trapezoids-shape-with-css/
通过将 position:absolute
设置为 #thebag::before
,您 "broke" 的流程和文本位于 div 之后。你必须精确,而不是 h3 标签将是相对的取决于它的容器。
所以你必须添加这个:
#thebag h3 {
position:relative
}
准确地说,#thebag 部分的所有 h3 都会受到影响。小心,如果你改变了你的选择器类型,它将不再起作用。
可能使用自定义 class 会更好,像这样 https://jsfiddle.net/kn87syvb/5/
我需要使用此 形状 并在其中 显示文本 。但是,我不知道为什么文字 不显示 。
HTML:
<div id="thebag">
<h3> Shihab Mridha </h3>
</div>
CSS:
#thebag{
position: relative;
overflow: hidden;
}
#thebag::before{
content: '';
position: absolute;
top: 0;
left: 0;
height: 50px;
width: 30%;
background: red;
}
#thebag::after {
content: '';
position: absolute;
top: 0;
left: 30%;
width: 0;
height: 0;
border-bottom: 50px solid red;
border-right: 70px solid transparent;
}
您需要将 position: relative
(或 position: inherit
,因为它与父项相同)添加到您的 #thebag h3
class。目前,您的 CSS 样式仅影响 h3
的父级 — 为了使 h3
与文本一起显示,您需要为其定义 CSS 样式。
您需要使用 postion:relative
属性:
#thebag h3{
postion:relative;
}
小说明:
position: relative
将布局相对于自身的元素。换句话说,元素按正常流布置,然后从正常流中移除并偏移您指定的任何值(上、右、下、左)。重要的是要注意,因为它已从流中移除,所以它周围的其他元素不会随之移动(如果你想要这种行为,请使用负边距)。
但是,您很可能对 position: absolute
感兴趣,它会相对于容器定位元素。默认情况下,容器是浏览器 window,但如果父元素设置了 position: relative 或 position: absolute
,那么它将作为父元素为其子元素定位坐标。
请检查此片段:
您还可以 re-structure 您的 HTML
和 CSS
如下:
HTML
<span class="start">Shihab Mridha</span>
<span class="end"></span>
CSS
.end {
height:0;
width:0;
float: left;
display: block;
border:10px solid #0f92ba;
border-top-color:transparent;
border-right-color:transparent;
border-bottom-color:#0f92ba;
border-left-color:#0f92ba;
}
.start{
height: 20px;
width: 60px;
float: left;
background: #0f92ba;
display: block;
color:#FFFFFF;
}
参考 Link : https://solutionstationbd.wordpress.com/2011/12/21/trapezoids-shape-with-css/
通过将 position:absolute
设置为 #thebag::before
,您 "broke" 的流程和文本位于 div 之后。你必须精确,而不是 h3 标签将是相对的取决于它的容器。
所以你必须添加这个:
#thebag h3 {
position:relative
}
准确地说,#thebag 部分的所有 h3 都会受到影响。小心,如果你改变了你的选择器类型,它将不再起作用。
可能使用自定义 class 会更好,像这样 https://jsfiddle.net/kn87syvb/5/