css 如何清除这个html中标签之间不需要的空格?

rqdpfwrv  于 2023-03-09  发布在  其他
关注(0)|答案(2)|浏览(178)

CSS:

<style type="text/css">
    html, body {
border: 1px solid;
width: 210mm;
height: 297mm;
margin: 0;
padding: 0;
}
body {
  font-family: Arial, sans-serif;
  font-size: 16px;
  line-height: 1.6;
  color: #333;
 }
h1 {
  font-size: 36px;
  font-weight: bold;
  margin: 0;
 }
h2 {
  font-size: 24px;
  font-weight: bold;
}
ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.section {
  margin-bottom: 30px;
}
.section h2 {
  margin-top: 0;
}
.grid-container {
 display: grid;
 grid-template-columns: 40% 60%;
 }
.grid-item1{
    background-color: #0d315f;
    color: white;
    height: 297mm;
    padding-left: 20px;
}
.grid-item2{
    color:black;
    height: 297mm;
    padding-left: 20px;
}
.banner{
    padding-top: 10px;
    padding-bottom: 10px;
    font-weight: bold;
    background-color: #1d334f;
}
.bold{
    font-weight: bold;
}
.email{
    padding:0 !important;
    margin:0 !important;

}

超文本:

<div class="grid-container">
<div class="grid-item1">
      <section class="section">
        <h1>John<br>Doe</h1><br>
        Student
        <div class="banner">Personal Info</div>
        <p class="bold">Email</p> 
        <p>yahdic@gmail.com</p>
        <p class="bold">Phone</p> 
        <p>7306219032</p>
      </section>

      <section class="section">
        <div class="banner">Skills</div>
        <ul>
          <li>CSS</li>
          <li>HTML</li>
          <li>PYTHON</li>
          <li>PHP</li>
          <li>C++</li>
        </ul>
      </section>

      <section class="section">
        <div class="banner">Hobbies</div>
        <ul>
          <li>Reading</li>
          <li>Watching Movies</li>
          <li>Cycling</li>
          <li>Music Listening</li>
          <li>Coding</li>
        </ul>
      </section>
      
 </div>
 <div class="grid-item2">

      <section class="section">
        <h2>Education</h2>
        <ul>
          <li>
            <h3>Degree Program</h3>
            <p><strong>University Name</strong>, Location</p>
            <p><em>Date range</em></p>
            <p>GPA: X.XX/4.00</p>
          </li>
          <li>
            <h3>Degree Program</h3>
            <p><strong>University Name</strong>, Location</p>
            <p><em>Date range</em></p>
            <p>GPA: X.XX/4.00</p>
          </li>
        </ul>
      </section>
      <section class="section">
        <h2>Experience</h2>
        <ul>
          <li>
            <h3>Job Title</h3>
            <p><strong>Company Name</strong>, Location</p>
            <p><em>Date range</em></p>
            <ul>
              <li>Accomplishment or responsibility</li>
              <li>Accomplishment or responsibility</li>
              <li>Accomplishment or responsibility</li>
            </ul>
          </li>
          <li>
            <h3>Job Title</h3>
            <p><strong>Company Name</strong>, Location</p>
            <p><em>Date range</em></p>
            <ul>
              <li>Accomplishment or responsibility</li>
              <li>Accomplishment or responsibility</li>
              <li>Accomplishment or responsibility</li>
            </ul>
          </li>
        </ul>
      </section>
    </div>
    </div>

在p标签之间有多余的空格,比如email和实际的email。问题不在于行高,我找不到填充/边距哪里出错了。还有,对于banner类(有“个人信息”和“技能”),即使没有边距/填充,背景颜色也没有到达整个左边部分。为什么?

fafcakar

fafcakar1#

浏览器会添加默认的边距和填充(以及其他属性)。通常,在主CSS文件中添加样式删除是一个很好的做法。您可能会看到CSS文件包含以下内容:

* {
  margin: 0;
  padding: 0;
}

在您的示例中,检查完元素后,所有p标记上都有默认边距。您可以设置所有元素的样式,也可以为要删除的元素创建一个类。默认样式的问题是它们是特定于浏览器的,因此如果您依赖这些样式,您的站点在每个浏览器上的外观可能会有所不同。
我添加了一个示例图片来说明如何调试它--我选择了其中一个元素,进入computed,看到它有边距(以及屏幕上显示的边距)。

6mzjoqzu

6mzjoqzu2#

我认为您正在寻找的CSS属性是margin-block-startmargin-block-end,它们是(至少在我的情况下(边缘 chrome ))由用户代理添加的。

相关问题