两个语义元素被读为一个

发布于 2025-02-09 05:26:58 字数 3848 浏览 2 评论 0原文

(这是我第一次编码我自己的页面 - 如果看起来很明显,则很抱歉)

网页的布局是:header,section.hero,section。页脚。

问题是,尽管.middle和.inform是单独的部分,但浏览器将它们读为一个,例如。如果我更改一个人的背景色,它们都会改变。这也意味着,尽管我希望.infoborm在新线路上显示为水平形式,但它的标题和前2个盒子在右侧的角落挤压。

我尝试了< br>在.middle和width之后:100%和显示:block of class和inforform的容器中,但没有任何区别。我还仔细检查了.Infoform不是.middle的子元素。

这是代码:

.middle{
    display:inline-block;
}

article{
    float:left;
    width: 60%;
    font-size:30px;
    padding-left: 20px;
}

article h2{
  font-family:'Prompt', sans-serif;
  font-size: 45px;
  color:#1C5C35;
}

article ul {
    list-style-image:url(images/bullet\ point\ dark\ green\ small.jpg);
    margin-left:20px;
}

aside div.stone_pic img{
    float:right;
    width:35%;
}

.infoform {
    background-color:#34A85C;
    color:white;
    font-family:'Prompt', sans-serif;
    font-size:30px;
    width:100%;
}

.container h3{
    padding-left:20px;
}

button{
    background-color:#F15A23;
    color:white;
    width:10%;
    border-radius:8px;
   }
<section.middle> 

<article>
<h2>Lorem Ipsum</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque lectus arcu, blandit nec tellus et, auctor consectetur mi. Pellentesque sit amet neque sit amet sapien pulvinar varius. Interdum et malesuada fames ac ante ipsum primis in faucibus. Nulla tempus pulvinar lacinia. Duis vehicula purus non est ullamcorper, at scelerisque velit pharetra. Sed rhoncus dolor nec volutpat convallis.  
</p>
<ul>
    <li>Example</li>
    <li>Example</li>
    <li>Example</li>
    <li>Example</li>
    <li>Example</li>
    <li>Example</li>
    <li>Example</li>
</ul>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque lectus arcu, blandit nec tellus et, auctor consectetur mi. Pellentesque sit amet neque sit amet sapien pulvinar varius. Interdum et malesuada fames ac ante ipsum primis in faucibus. Nulla tempus pulvinar lacinia. Duis vehicula purus non est ullamcorper, at scelerisque velit pharetra. Sed rhoncus dolor nec volutpat convallis.  
</p>
</article>

<aside>
    <div class="stone_pic">
    <img src="images/stone_hose2.jpg" alt="side image-powerhose washing stone">
    </div>
</aside>

</section.middle> <br>


<section class="infoform" style="display:block; width:100%;"> 

<div class="container" style="display:block; width:100%;">
    <h3>Request a callback</h3>
    <form class="form-inline" action="/action_page.php">
        <label for="name">Name:</label>
        <input type="text" class="form-control"
            id="name" placeholder="Enter name"
            name="name">
        <label for="email">Email:</label>
         <input type="email" class="form-control"
            id="email" placeholder="Enter email"
             name="email">
            <label for="tel">Tel:</label>
        <input type="number" class="form-control"
            id="tel" placeholder="Enter phone number"
            name="tel" required minlength="11">
            <label for="service required">Service Required:</label>
        <input type="text" class="form-control"
            id="service required" placeholder="Service required"
            name="service required" required minlength="11">
            <button type-submit>Submit</button>
       
    </form>
</div>

</section>

请注意,由于图像没有显示其看起来好像在文章旁边的列中,而不是在网页上显示的图像下方挤压。

有人可以暗示为什么这些部分没有分开?

提前致谢。

(This is my very first time coding my own page - apologies if this seems obvious)

The layout of the webpage is: header, section.hero, section.middle containing an article and aside, section.infoform (a horizontal form) then the footer.

The issue is that although .middle and .infoform are separate sections the browser reads them as one, eg. if I change the background-color of one they both change. This also means that although I would like .infoform to display as a horizontal form on a new line it appears with its heading and first 2 boxes squashed in the right hand corner.

I've tried putting < br> after .middle and width:100% and display:block in the class and container of .inforform but none made any difference. I've also double checked that .infoform is not a child element of .middle.

Here's the code:

.middle{
    display:inline-block;
}

article{
    float:left;
    width: 60%;
    font-size:30px;
    padding-left: 20px;
}

article h2{
  font-family:'Prompt', sans-serif;
  font-size: 45px;
  color:#1C5C35;
}

article ul {
    list-style-image:url(images/bullet\ point\ dark\ green\ small.jpg);
    margin-left:20px;
}

aside div.stone_pic img{
    float:right;
    width:35%;
}

.infoform {
    background-color:#34A85C;
    color:white;
    font-family:'Prompt', sans-serif;
    font-size:30px;
    width:100%;
}

.container h3{
    padding-left:20px;
}

button{
    background-color:#F15A23;
    color:white;
    width:10%;
    border-radius:8px;
   }
<section.middle> 

<article>
<h2>Lorem Ipsum</h2>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque lectus arcu, blandit nec tellus et, auctor consectetur mi. Pellentesque sit amet neque sit amet sapien pulvinar varius. Interdum et malesuada fames ac ante ipsum primis in faucibus. Nulla tempus pulvinar lacinia. Duis vehicula purus non est ullamcorper, at scelerisque velit pharetra. Sed rhoncus dolor nec volutpat convallis.  
</p>
<ul>
    <li>Example</li>
    <li>Example</li>
    <li>Example</li>
    <li>Example</li>
    <li>Example</li>
    <li>Example</li>
    <li>Example</li>
</ul>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque lectus arcu, blandit nec tellus et, auctor consectetur mi. Pellentesque sit amet neque sit amet sapien pulvinar varius. Interdum et malesuada fames ac ante ipsum primis in faucibus. Nulla tempus pulvinar lacinia. Duis vehicula purus non est ullamcorper, at scelerisque velit pharetra. Sed rhoncus dolor nec volutpat convallis.  
</p>
</article>

<aside>
    <div class="stone_pic">
    <img src="images/stone_hose2.jpg" alt="side image-powerhose washing stone">
    </div>
</aside>

</section.middle> <br>


<section class="infoform" style="display:block; width:100%;"> 

<div class="container" style="display:block; width:100%;">
    <h3>Request a callback</h3>
    <form class="form-inline" action="/action_page.php">
        <label for="name">Name:</label>
        <input type="text" class="form-control"
            id="name" placeholder="Enter name"
            name="name">
        <label for="email">Email:</label>
         <input type="email" class="form-control"
            id="email" placeholder="Enter email"
             name="email">
            <label for="tel">Tel:</label>
        <input type="number" class="form-control"
            id="tel" placeholder="Enter phone number"
            name="tel" required minlength="11">
            <label for="service required">Service Required:</label>
        <input type="text" class="form-control"
            id="service required" placeholder="Service required"
            name="service required" required minlength="11">
            <button type-submit>Submit</button>
       
    </form>
</div>

</section>

Just to note, as the image is not showing it looks as though the form is in a column next to the article rather than squashed underneath the image as it shows on the webpage.

Could someone more experienced suggest why the sections are not separating?

Thanks in advance.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

陌若浮生 2025-02-16 05:26:58

问题

主要问题是:

<!-- This is incredibly invalid -->
<section.middle>...</section.middle>
<!-- This is what it should be -->
<section class='middle'>...</section>

次要问题:

<button type-submit>Submit</button>
<!-- Should be -->
<button type='submit'>Submit</button>
<!-- OR -->
<button>Submit</button>

ID和名称属性不应有空间。

不要使用name =“名称”可能会导致意外行为。

.middle {
display: inline-block;
}

article {
float: left;
width: 60%;
font-size: 30px;
padding-left: 20px;
}

article h2 {
font-family: 'Prompt', sans-serif;
font-size: 45px;
color: #1C5C35;
}

article ul {
list-style: none;
margin-left: 20px;
}

article ul li::before {
content: '

Problems

The main problem is this:

<!-- This is incredibly invalid -->
<section.middle>...</section.middle>
<!-- This is what it should be -->
<section class='middle'>...</section>

Minor problems:

<button type-submit>Submit</button>
<!-- Should be -->
<button type='submit'>Submit</button>
<!-- OR -->
<button>Submit</button>

id and name attributes should not have spaces.

Don't use name="name" it may cause unexpected behavior.

.middle {
  display: inline-block;
}

article {
  float: left;
  width: 60%;
  font-size: 30px;
  padding-left: 20px;
}

article h2 {
  font-family: 'Prompt', sans-serif;
  font-size: 45px;
  color: #1C5C35;
}

article ul {
  list-style: none;
  margin-left: 20px;
}

article ul li::before {
  content: '????';
  display: inline-block;
  margin: -5px 5px 0 0;
  font-size: 0.75rem;
  vertical-align: middle;
}

aside div.stone_pic img {
  float: right;
  width: 35%;
}

.infoform {
  background-color: #34A85C;
  color: white;
  font-family: 'Prompt', sans-serif;
  font-size: 30px;
  width: 100%;
}

.container h3 {
  padding-left: 20px;
}

button {
  background-color: #F15A23;
  color: white;
  width: 10%;
  border-radius: 8px;
}
<section class='middle'>

  <article>
    <h2>Lorem Ipsum</h2>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque lectus arcu, blandit nec tellus et, auctor consectetur mi. Pellentesque sit amet neque sit amet sapien pulvinar varius. Interdum et malesuada fames ac ante ipsum primis in faucibus.
      Nulla tempus pulvinar lacinia. Duis vehicula purus non est ullamcorper, at scelerisque velit pharetra. Sed rhoncus dolor nec volutpat convallis.
    </p>
    <ul>
      <li>Example</li>
      <li>Example</li>
      <li>Example</li>
      <li>Example</li>
      <li>Example</li>
      <li>Example</li>
      <li>Example</li>
    </ul>
    <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque lectus arcu, blandit nec tellus et, auctor consectetur mi. Pellentesque sit amet neque sit amet sapien pulvinar varius. Interdum et malesuada fames ac ante ipsum primis in faucibus.
      Nulla tempus pulvinar lacinia. Duis vehicula purus non est ullamcorper, at scelerisque velit pharetra. Sed rhoncus dolor nec volutpat convallis.
    </p>
  </article>

  <aside>
    <div class="stone_pic">
      <img src="https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcRl7jZZdRpUuiVUW7488MTU0-xqfzeCZU8Mtw&usqp=CAU" alt="side image-powerhose washing stone">
    </div>
  </aside>

</section> <br>


<section class="infoform" style="display:block; width:100%;">

  <div class="container" style="display:block; width:100%;">
    <h3>Request a Callback</h3>
    <form class="form-inline" action="/action_page.php">
      <label for="fullName">Name:</label>
      <input type="text" class="form-control" id="fullName" placeholder="Enter name" name="fullName">
      <label for="email">Email:</label>
      <input type="email" class="form-control" id="email" placeholder="Enter email" name="email">
      <label for="tel">Tel:</label>
      <input type="number" class="form-control" id="tel" placeholder="Enter phone number" name="tel" required minlength="11">
      <label for="required">Service Required:</label>
      <input type="text" class="form-control" id="required" placeholder="Service required" name="required" required minlength="11">
      <button>Submit</button>

    </form>
  </div>

</section>

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文