首页 > 解决方案 > 在文本的左侧和右侧放置两个箭头

问题描述

我想在下面的代码中的文本周围放置两个箭头(在文本的左侧和右侧):

const contrast = document.getElementById("contrast");

function contrastShow(text) {
  contrast.innerHTML = text;
  contrast.classList.add("contrastShow");
  contrast.classList.remove("contrastHide");
}

contrastShow("This is the text");
.contrast-container {
  overflow: hidden;
  height: 10vh;
  width: 100%;
  z-index: 11;
  /*outline: 0.1vw dashed orange;*/
}

.vertical-center-contrast {
  position: absolute;
  top: 73.5vh; /*top: 82vh;*/
  padding-top: 10px;
  margin: 0;
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

.contrast {
    position: relative;
    font-family: "Vazir";
    direction: rtl;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 1);
    text-align: center;
    width: 100%;
    font-size: 2vw;
    color: rgb(248, 247, 250);
    opacity: 0;  
    margin: 0 auto;
}

.contrastShow {
    animation: contrastAnimeShow 0.3s ease-in-out;
    animation-fill-mode: forwards ;
}

@-webkit-keyframes contrastAnimeShow {
  0%    { opacity: 0; top: 4vh }
  100%  { opacity: 1; top: 1.2vh }
}

.left-arrow {
  position: relative;
}
<div class ="vertical-center-contrast contrast-container">
       <span class="left-arrow">&#8250;</span>
           <p id="contrast" class="contrast"></p>
           <span class="right-arrow">&#8249;</span>
</div>

我用箭头的 html 代码创建了两个跨度来创建箭头和内联文本,但没有运气......

标签: htmlcss

解决方案


有多种方法可以做到这一点。最简单的方法是添加display: flex;到您的vertical-center-contrast

const contrast = document.getElementById("contrast");

function contrastShow(text) {
  contrast.innerHTML = text;
  contrast.classList.add("contrastShow");
  contrast.classList.remove("contrastHide");
}

contrastShow("This is the text");
.contrast-container {
  /*overflow: hidden;*/
  height: 10vh;
  width: 100%;
  z-index: 11;
  /*outline: 0.1vw dashed orange;*/
}

.vertical-center-contrast {
  /*position: absolute;*/
  /*top: 73.5vh;*/
  padding-top: 10px;
  margin: 0;
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  display: flex;
}

.contrast {
    position: relative;
    font-family: "Vazir";
    direction: rtl;
    text-shadow: 1px 1px 2px rgba(0, 0, 0, 1);
    text-align: center;
    width: 100%;
    font-size: 2vw;
    color: rgb(248, 247, 250);
    opacity: 1;  
    margin: 0 auto;
}

.left-arrow {
  position: relative;
}
<div class ="vertical-center-contrast contrast-container">
       <span class="right-arrow">&#8249;</span>
       <p id="contrast" class="contrast">ddd</p>
       <span class="left-arrow">&#8250;</span>
</div>


推荐阅读