javascript - 如何在 span 内将文本居中?

标签 javascript html css

我有一个问题。我无法在 <span> 中将文本居中标签。我知道我需要切换 <span>标记为 <div><p>标签我相信?但是,当我尝试这样做时,按钮的全部功能都失败了。

我会把整个代码贴在下面,看看你能不能帮我。

谢谢。

<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
#more {display: none;}
</style>
</head>
<body>


<span id="dots"></span><span id="more">erisque enim ligula venenatis dolor. Maecenas nisl est, ultrices nec congue eget, auctor vitae massa. Fusce luctus vestibulum augue ut aliquet. Nunc sagittis dictum nisi, sed ullamcorper ipsum dignissim ac. In at libero sed nunc venenatis imperdiet sed ornare turpis. Donec vitae dui eget tellus gravida venenatis. Integer fringilla congue eros non fermentum. Sed dapibus pulvinar nibh tempor porta.</span></p>
<button onclick="myFunction()" id="myBtn">Read more</button>

<script>
function myFunction() {
  var dots = document.getElementById("dots");
  var moreText = document.getElementById("more");
  var btnText = document.getElementById("myBtn");

  if (dots.style.display === "none") {
    dots.style.display = "inline";
    btnText.innerHTML = "Read more"; 
    moreText.style.display = "none";
  } else {
    dots.style.display = "none";
    btnText.innerHTML = "Read less"; 
    moreText.style.display = "inline";
  }
}
</script>

</body>
</html>

最佳答案

如果您想使用 span,请使用显示 block 而不是内联,否则您可以切换到 pdiv 标签

<!DOCTYPE html>
<html>
<head>
<meta name="viewport" content="width=device-width, initial-scale=1">
<style>
#more {display: none;}
</style>
</head>
<body>


<span id="dots"></span><span id="more">erisque enim ligula venenatis dolor. Maecenas nisl est, ultrices nec congue eget, auctor vitae massa. Fusce luctus vestibulum augue ut aliquet. Nunc sagittis dictum nisi, sed ullamcorper ipsum dignissim ac. In at libero sed nunc venenatis imperdiet sed ornare turpis. Donec vitae dui eget tellus gravida venenatis. Integer fringilla congue eros non fermentum. Sed dapibus pulvinar nibh tempor porta.</span></p>
   <div style="text-align:center"> <button onclick="myFunction()" id="myBtn">Read more</button></div>

<script>
function myFunction() {
  var dots = document.getElementById("dots");
  var moreText = document.getElementById("more");
  var btnText = document.getElementById("myBtn");

  if (dots.style.display === "none") {
    dots.style.display = "inline";
    btnText.innerHTML = "Read more"; 
    moreText.style.display = "none";
  } else {
    dots.style.display = "none";
    btnText.innerHTML = "Read less"; 
    moreText.style.display = "block";
   moreText.style.textAlign = "center";
 //  btnText.parentElement.style.textAlign = "center";
  }
}
</script>

</body>
</html>

关于javascript - 如何在 span 内将文本居中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52588039/

相关文章:

javascript - 从 IE9 拖放事件获取文件位置

javascript - Blazor 播放无文件生成的声音

javascript - 未捕获的类型错误 : Cannot read property 'createDocumentFragment' of undefined (using wysiwyg)

jquery - 虽然 CSS 可以,但动画交互无法正常工作

javascript - 使用 onchange jquery 更改对象的值

javascript - 工厂中的 AngularJS $scope

javascript - 将日期时间从服务器转换为字符串javascript

html - 如何在汉堡菜单中将文本彼此对齐?

javascript - 如何访问页面上两个位置具有相同 id 的特定 div?

javascript - 在悬停另一个元素时更改元素样式