我正在创建一个组织 struct 图.看起来一切正常,除了接口看起来不对准.在响应中,根据每个框中的内容,它们会更不对齐.有没有办法让移动设备和台式机上的接口保持同步?先谢谢你. 我的密码是这样的- https://codepen.io/Shawnny-Tandon/pen/ExMJQMG

:root {
  --level-1: #8dccad;
}

.orgchart {
  margin: 0 auto;
  overflow: auto;
  height: 610px;
  width: 722px;
}

* {
  padding: 0;
  margin: 0;
}

ol {
  list-style: none;
}

.rectangle {
  position: relative;
  padding: 20px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15);
  text-align: center;
  border: solid black 1px;
  font-size: 12px !important;
  transition: background-color 0.3s ease;
  /* Add a smooth transition effect */
  /* Add a default background color */
  background-color: #0071bc;
}


/* Add hover effect */

.rectangle:hover {
  background-color: #205493;
  /* Change the background color on hover */
}


/* LEVEL-1 STYLES
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.level-1 {
  width: 50%;
  margin: 0 auto 40px;
  background: var(--level-1);
  text-align: center;
  color: white;
}


/* LEVEL-2 STYLES
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.level-2-wrapper {
  flex: 1;
  padding: 5px;
  margin: 0 20px;
  position: relative;
}

.level-2-wrapper::before {
  content: "";
  position: absolute;
  top: -40px;
  left: 105%;
  width: 2px;
  height: calc(99.5%);
  background: #a1b8e1;
}

.level-2-wrapper li+li {
  margin-top: 20px;
}

.level-2 {
  font-weight: normal;
  color: #fff;
}

.level-2::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 109%;
  transform: translate(-100%, -50%);
  width: 17px;
  height: 2px;
  background: #a1b8e1;
}

.oc {
  display: flex;
}


/* LEVEL-2 STYLES
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.level-sub-wrapper {
  flex: 1;
  padding: 5px;
  margin: 0 20px;
  position: relative;
}

.level-sub-wrapper::before {
  content: "";
  position: absolute;
  top: -40px;
  left: -10px;
  width: 2px;
  height: 23%;
  background: #a1b8e1;
}

.level-sub-wrapper li+li {
  margin-top: 20px;
}

.level-sub {
  font-weight: normal;
  background: #0071bc;
  color: #fff;
}

.level-sub::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0%;
  transform: translate(-100%, -50%);
  width: 14px;
  height: 2px;
  background: #a1b8e1;
}

.level-sub-wrapper::after {
  content: "";
  position: absolute;
  top: 24.2%;
  left: 80px;
  transform: translate(-50%, -50%);
  width: 2px;
  height: 21px;
  background: #a1b8e1;
}

.level-sub2 {
  font-weight: normal;
  color: #fff;
}

.orgchart a:visited {
  color: white;
  text-decoration: underline;
}

.orgchart a {
  color: #105183;
  text-decoration: none;
  font-size: 12px !important;
}


/* level-3 STYLES
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.level-3-wrapper {
  flex: 1;
  padding: 5px;
  margin: 0 20px;
  position: relative;
}

.level-3-wrapper::before {
  content: "";
  position: absolute;
  top: -40px;
  left: 105%;
  width: 2px;
  height: calc(74%);
  background: #a1b8e1;
}

.level-3-wrapper li+li {
  margin-top: 20px;
}

.level-3 {
  font-weight: normal;
  color: #fff;
}

.level-3::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 109%;
  transform: translate(-100%, -50%);
  width: 17px;
  height: 2px;
  background: #a1b8e1;
}
<div class="rxbodyfield">
  <div class="orgchart">
    <h2 class="level-1 rectangle">
    <a href="">CEO<br />Test1</a></h2>
    <div class="oc">
      <ol class="level-2-wrapper">
        <li>
          <div class="level-2 rectangle"><a href=""><strong>Manager1</strong><br />
Test ABCD</a></div>
        </li>
        <li>
          <div class="level-2 rectangle"><strong>Manager2</strong>
            <a href=""><br />
            </a>Test</div>
        </li>
        <li>
          <div class="level-2 rectangle"><strong>Manager3</strong><br /> Test
          </div>
        </li>
        <li>
          <div class="level-2 rectangle"><strong>Manager4</strong><br /> Senior Chief Counsel<br>fdffdg<br>dfddffdfdffd</div>
        </li>
      </ol>
      <ol class="level-3-wrapper">
        <li>
          <div class="level-3 rectangle"><strong>Manager5</strong><br /> Senior Deputy Director</div>
        </li>
        <li>
          <div class="level-3 rectangle"><strong>Manager 6</strong><br /> Blah blah blah blah</div>
        </li>
        <li>
          <div class="level-3 rectangle"><strong>Manager7</strong><br /> Test
          </div>
        </li>
      </ol>
      <ol class="level-sub-wrapper">
        <li>
          <div class="level-sub rectangle"><strong>Manager8</strong><br /> Senior Staff</div>
        </li>
        <li>
          <div class="level-sub2 rectangle" style=" margin-left: 20px;"><strong>Manager9</strong><br /> Executive Director</div>
        </li>
      </ol>
    </div>
  </div>
</div>

推荐答案

因为您在orgchart类中使用了显式的宽度值.try 将此属性设置为max-widthmax-inline-size,并将部分元素设置为max-width,以避免覆盖整行.还要添加flex-wrap: wrap;声明来包装您的元素.try 使用以下代码进行快速演示:

:root {
  --level-1: #8dccad;
}

.orgchart {
  margin: 0 auto;
  overflow: auto;
  height: 610px;
  /* width: 722px; */

  /* Add this declaration to make your container element responsive */
  max-width: 722px;
}

* {
  padding: 0;
  margin: 0;
}

ol {
  list-style: none;
}

.rectangle {
  position: relative;
  padding: 20px;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.15);
  text-align: center;
  border: solid black 1px;
  font-size: 12px !important;
  transition: background-color 0.3s ease;
  /* Add a smooth transition effect */
  /* Add a default background color */
  background-color: #0071bc;
}


/* Add hover effect */

.rectangle:hover {
  background-color: #205493;
  /* Change the background color on hover */
}


/* LEVEL-1 STYLES
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.level-1 {
  width: 50%;
  margin: 0 auto 40px;
  background: var(--level-1);
  text-align: center;
  color: white;
}


/* LEVEL-2 STYLES
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.level-2-wrapper {
  flex: 1;
  padding: 5px;
  margin: 0 20px;
  position: relative;
}

.level-2-wrapper::before {
  content: "";
  position: absolute;
  top: -40px;
  left: 105%;
  width: 2px;
  height: calc(99.5%);
  background: #a1b8e1;
}

.level-2-wrapper li+li {
  margin-top: 20px;
}

.level-2 {
  font-weight: normal;
  color: #fff;
}

.level-2::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 109%;
  transform: translate(-100%, -50%);
  width: 17px;
  height: 2px;
  background: #a1b8e1;
}

.oc {
  display: flex;

  /* Add this declation to wrap the flex items */
  flex-wrap: wrap;
}


/* LEVEL-2 STYLES
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.level-sub-wrapper {
  flex: 1;
  padding: 5px;
  margin: 0 20px;
  position: relative;
}

.level-sub-wrapper::before {
  content: "";
  position: absolute;
  top: -40px;
  left: -10px;
  width: 2px;
  height: 23%;
  background: #a1b8e1;
}

.level-sub-wrapper li+li {
  margin-top: 20px;
}

.level-sub {
  font-weight: normal;
  background: #0071bc;
  color: #fff;

  /* Add this declaration to avoid your element from covering the whole line */
  max-width: 190px;
}

.level-sub::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0%;
  transform: translate(-100%, -50%);
  width: 14px;
  height: 2px;
  background: #a1b8e1;
}

.level-sub-wrapper::after {
  content: "";
  position: absolute;
  top: 24.2%;
  left: 80px;
  transform: translate(-50%, -50%);
  width: 2px;
  height: 21px;
  background: #a1b8e1;
}

.level-sub2 {
  font-weight: normal;
  color: #fff;
}

.orgchart a:visited {
  color: white;
  text-decoration: underline;
}

.orgchart a {
  color: #105183;
  text-decoration: none;
  font-size: 12px !important;
}


/* level-3 STYLES
–––––––––––––––––––––––––––––––––––––––––––––––––– */

.level-3-wrapper {
  flex: 1;
  padding: 5px;
  margin: 0 20px;
  position: relative;
}

.level-3-wrapper::before {
  content: "";
  position: absolute;
  top: -40px;
  left: 105%;
  width: 2px;
  height: calc(74%);
  background: #a1b8e1;
}

.level-3-wrapper li+li {
  margin-top: 20px;
}

.level-3 {
  font-weight: normal;
  color: #fff;
}

.level-3::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 109%;
  transform: translate(-100%, -50%);
  width: 17px;
  height: 2px;
  background: #a1b8e1;
}

Html相关问答推荐

我已经在我的网站上创建了按钮,但我不能让它们正确排列.'

输入宽度在表格显示上不起作用FLEX溢出隐藏Firefox

如何阻止Chromecast图标出现在HTML5视频

浏览器是在调整大小还是在全屏上交换视频源?

页脚与主要内容重叠

如何从elementor中的滑块中获取文本?

与窗高匹配的响应式正方形网格

如何使VS代码支持以模仿嵌套的方式对已经包含注释的HTML进行注释?

如何使单选按钮在被 Select /选中时看起来像这样的设计?

CSS中的百分比高度,如何使其与父级高度相同

如果使用复选框属性更改,如何防止事件更改?

从触发元素移动到有间隙的内容时 CSS 工具提示关闭

如何使用CSS Select 表亲元素

在带有换行文本的工具提示中显示溢出文本

th 内的 div 标签没有占据全高

如何为某些行具有 rowspan 的表的每个奇数行着色

发光效果html动画

如何使用 html 和 css 为卡片创建此背景框架

动态使用时波浪号不转换为绝对路径

SVG 适用于 Safari,不适用于 Chrome