首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >更改宽度时CSS不对中

问更改宽度时CSS不对中
EN

Stack Overflow用户
提问于 2021-05-16 17:30:15
回答 2查看 561关注 0票数 1

我有下面的代码。它简单地使python脚本格式化,使用highlight.js的颜色。

​

代码语言:javascript
复制
hljs.highlightAll();

 function clicked(){
      if(document.getElementById("code").style.display === "block"){
          document.getElementById("code").style.display = "none" 

      }else{
          document.getElementById("code").style.display = "block" 
      }
  }
代码语言:javascript
复制
html{
    text-align: center;
}

#code{
    display: none;
    text-align: left;
    width: 150px; /* removing this line will center */
}
代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <link
      rel="stylesheet"
      href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@10.7.2/build/styles/atom-one-dark.min.css"
    />
    <script src="//cdn.jsdelivr.net/gh/highlightjs/cdn-release@10.7.2/build/highlight.min.js"></script>


</head>
<body>
    <button onclick="clicked()">Show Code</button>
    <pre id="code"><code>print('hello world')</code></pre>
</body>
</html>

​

单击按钮后,它将不会对代码进行居中。但是,如果取消注释更改CSS文件中宽度的行,它就会居中。为什么当我改变宽度的时候它不中心?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-05-16 17:37:02

当以内容为中心时,text-align并不是最好的选择。最好在容器上使用flex布局(例如,body)。

​

代码语言:javascript
复制
hljs.highlightAll();

 function clicked(){
      if(document.getElementById("code").style.display === "block"){
          document.getElementById("code").style.display = "none" 

      }else{
          document.getElementById("code").style.display = "block" 
      }
  }
代码语言:javascript
复制
body {
  display: flex;
  align-items: center;
  flex-direction: column;
}

#code{
    display: none;
    text-align: left;
    width: 150px; /* removing this line will center */
}
代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <link
      rel="stylesheet"
      href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@10.7.2/build/styles/atom-one-dark.min.css"
    />
    <script src="//cdn.jsdelivr.net/gh/highlightjs/cdn-release@10.7.2/build/highlight.min.js"></script>


</head>
<body>
    <button onclick="clicked()">Show Code</button>
    <pre id="code"><code>print('hello world')</code></pre>
</body>
</html>

​

票数 0
EN

Stack Overflow用户

发布于 2021-05-16 17:33:22

您可以将margin: 0 auto;添加到div的中间,如

代码语言:javascript
复制
#code{
    display: none;
    text-align: left;
    margin: 0 auto;
    width: 150px;
}

​

代码语言:javascript
复制
hljs.highlightAll();

 function clicked(){
      if(document.getElementById("code").style.display === "block"){
          document.getElementById("code").style.display = "none" 

      }else{
          document.getElementById("code").style.display = "block" 
      }
  }
代码语言:javascript
复制
html{
    text-align: center;
}

#code{
    display: none;
    text-align: left;
    margin: 0 auto;
    width: 150px;
}
代码语言:javascript
复制
<!DOCTYPE html>
<html lang="en">
<head>
    <link
      rel="stylesheet"
      href="https://cdn.jsdelivr.net/gh/highlightjs/cdn-release@10.7.2/build/styles/atom-one-dark.min.css"
    />
    <script src="//cdn.jsdelivr.net/gh/highlightjs/cdn-release@10.7.2/build/highlight.min.js"></script>


</head>
<body>
    <button onclick="clicked()">Show Code</button>
    <pre id="code"><code>print('hello world')</code></pre>
</body>
</html>

​

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67559667

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档