HTML和CSS学习心得

HTML
159
0
0
2024-06-05

手机适配之防止文字错乱

注:防止各字段文字内容因手机屏幕宽度不够自动换行,导致显示位置错乱。

思路:通过修改CSS设置自适应布局方式。禁止除最后一行字段外的所有字段自动换行功能,当文字内容一行显示不全时,最后一行字段自动换行并设置左边距使上下文字内容对齐。

HTML代码:

<div id="services">
     <div class="service-status">
          <div class="status-icon normal"></div>
                  <span>物存:0.28GB</span>
                  <span>虚存:2.47GB</span>
                  <span>服务名:halo</span>
          </div>
	 <div class="service-status">
          <div class="status-icon normal"></div>
                  <span>物存:0.00GB</span>
                  <span>虚存:0.02GB</span>
                  <span>服务名:ydzs</span>
          </div>
	 <div class="service-status">
          <div class="status-icon normal"></div>
                  <span>物存:0.00GB</span>
                  <span>虚存:0.02GB</span>
                  <span>服务名:ydzs_jianfei</span>
          </div>
	 <div class="service-status">
          <div class="status-icon normal"></div>
                  <span>物存:0.02GB</span>
                  <span>虚存:0.45GB</span>
                  <span>服务名:nginx</span>
          </div>
	 <div class="service-status">
          <div class="status-icon normal"></div>
                  <span>物存:0.03GB</span>
                  <span>虚存:4.97GB</span>
                  <span>服务名:docker</span>
          </div>
</div>

CSS代码:

        .service-status {
/*设置布局方式*/
            display: flex;
            align-items: center;
            padding: 10px;
/*美化。设置每个应用了service-status类的标签下方都出现一条1px大小的灰色横线*/
            border-bottom: 1px solid #ccc;
        }
        .status-icon {
/*设置图标宽高度*/
            width: 15px; 
            height: 15px;
/*设置图标为圆形*/
            border-radius: 50%;
/*设置图标右边距为10px*/
            margin-right: 10px;
        }
        .service-info {
/*设置布局方式*/
            flex-grow: 1;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
        .service-name {
/*设置布局方式*/
            flex-grow: 1;
            overflow: hidden;
            white-space: nowrap;
            text-overflow: ellipsis;
        }
        .service-status span {
            margin-right: 10px; /* 设置每个<span>元素右侧的间距为10像素,根据需要调整 */
        }
/*如果手机访问,则切换至以下CSS样式*/
        @media (max-width: 768px) {
            body {
                flex-direction: column;
            }
            .service-status {
                flex-wrap: wrap;
            }
            .service-status span {
/*设置所有<span>标签禁止换行,设置右对齐10px*/
                white-space: nowrap;
                margin-right: 10px;
            }
/*设置允许最后一个<span>自动换行,设置该<span>宽度100%以填充满右侧空间*/
            .service-status span:last-child {
                width: 100%;
/*设置换行后的<span>元素左侧的间距为25像素,根据需要调整*/
                margin-left: 25px; 
            }
        }

预览图: