两个语义元素被读为一个
(这是我第一次编码我自己的页面 - 如果看起来很明显,则很抱歉)
网页的布局是: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 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
问题
主要问题是:
次要问题:
ID和名称属性不应有空间。
不要使用
name =“名称”
可能会导致意外行为。Problems
The main problem is this:
Minor problems:
id and name attributes should not have spaces.
Don't use
name="name"
it may cause unexpected behavior.