html - 使用 CSS 创建一个带有十字和文本的 div

标签 html css

我正在尝试创建一个带有“x”和其中文本的 div,如此图所示

image

我能以某种方式改进这个片段吗?

div {
   width:49px;
   height:49px; 
   border:1px solid black;
   position:relative;
   text-align:center;
   line-height:49px;
   font-size:25px;
}
div:before {
   content:'';
   position:absolute;
   width:0;
   height:0;   
   top:-1px;
   left:-1px;
   border:25px solid transparent;
   border-right:25px solid black;
   border-bottom:25px solid black;
   z-index:-3;
}
div:after {
   position:absolute;
   content:'';
   width:0;
   height:0;
   top:1px;
   left:1px;
   border:24px solid transparent;
   border-right:24px solid white;
   border-bottom:24px solid white;
   z-index:-2;
}
<div>XL</div>

上面的代码片段正是我到目前为止所做的,一个完全不同的解决方案(只要结果如所附图片所示)就可以了

最佳答案

如果你想确保文本始终在 div 中居中,你可以使用 absolute 定位并应用 background

查看此 fiddle

.wrapper {
   width:50px;
   height:50px; 
   border:2px solid black;
   position:relative;
   text-align:center;
   font-size:25px;
   padding: 10px;
   overflow: hidden;
}
.wrapper:before {
   content:'';
   position:absolute;
   top:50%;
   left: 50%;
   width:0;
   height:200%;   
   border: 1px solid black;
   transform: translateY(-50%)rotate(45deg);
   z-index: -3;
}
.wrapper:after {
   content:'';
   position:absolute;
   top:50%;
   left: 50%;
   width:0;
   height:200%;   
   border: 1px solid black;
   transform: translateY(-50%)rotate(-45deg);
   z-index: -3;
}
.wrapper > div {
   background: #fff;
   padding: 5px;
   position: absolute;
   top: 50%;
   left: 50%;
   transform: translate(-50%, -50%);
}
<div class="wrapper">
  <div>
    XL
  </div>
</div>

关于html - 使用 CSS 创建一个带有十字和文本的 div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57753574/

相关文章:

javascript - 使用 cssRules.cssText 返回 RGB 值而不是 HEX

html - Flex-box 将导航项与侧边栏对齐

javascript - 动态网页设计,新手

javascript - 在数据表中单击选择行并将所选数据导出为 Excel

javascript - 设置动态创建的 div 元素的样式

javascript - 如何使用jquery从选择标签中选择选项值

facebook - 在 Facebook 墙上分享 HTML5 播放器

javascript - 以最大宽度在 div 中居中图像

JQuery + CSS - flex/弹跳滚动溢出 :auto

css - 以他的 parent 为中心的文本