Home Web Front-end HTML Tutorial 百度主页(练习)_html/css_WEB-ITnose

百度主页(练习)_html/css_WEB-ITnose

Jun 24, 2016 am 11:35 AM

学了几天Html和CSS,做了个百度主页当练习(因为最简单)。由于还没看到Javascript,所以只是尽量把布局做得相似一些。

百度的主页比较简单,大概分为三个部分:右上角的标签、Logo和表单、下面的版权信息。

 

首先是top部分代码:

 1 <div class="top"> 2     <div class="title"> 3         <span> 4             <a class="bold" href="#">新闻</a>  5             <a class="bold" href="#">hao123</a>  6             <a class="bold" href="#">地图</a>  7             <a class="bold" href="#">视频</a>  8             <a class="bold" href="#">贴吧</a>  9             <a href="#">登陆</a> 10             <a href="#">设置</a> 11             <input class="list" type="submit" value="更多产品" name="submit" /> 12         </span>13     </div>14 </div><br />
Copy after login

这部分的样式表:

.top{    width:100%;    height:64px;}.top>.title{    height:64px;    float:right;}.top>.title>span{    line-height:64px;    float:right;}.top>.title>span>a{    font-size:13px;    font-family:"宋体";    text-decoration:underline;    color:#333}.top>.title>span>.bold{    font-weight:bold;}.list{    border:0;    height:25px;    width:60px;    background:#36F;    color:#fff;}
Copy after login

这里用了很多层嵌套。首先top设置width使得横向可以填满整个页面。

top里面的title这一层使用float:right;让内容向右对齐。

title里的span这一层是多加的,用line-height做一个垂直居中。

title和span的宽度都自适应。

几个标签的字体样式都比较好定义,只是最后一个“更多产品”,这里使用表单里面的button,定义一下宽和高,背景颜色和字体颜色。如果要做一个纯色的按钮还要记得把border改成0。

做出来的效果大概是这样的(Chrome):

对比一下百度的页面:

效果基本一样(好像有个错别字)

不过,“更多产品”这部分的文字和左边对齐了,可是按钮的上下边框并没有和什么对齐,不知道算不算设计上的误差哈(个人觉得仔细看的时候稍微有点不适)。

下面是body部分,先贴代码:

<div class="body">    <div class="pic">        <img  class="logo lazy"  src="/static/imghw/default1.png"  data-src="logo.png"  / alt="百度主页(练习)_html/css_WEB-ITnose" >    </div>    <div class="search">        <form>            <label for="search"></label>            <input class="input" type="text" name="search" id="search" value="" /><input class="btn" type="submit" value="百度一下" name="submit" />        </form>    </div></div>
Copy after login

样式表:

.pic{    text-align:center;    margin-bottom:30px;}.logo{    height:130px;    width:270px;}.search{    text-align:center;}.input{    width:540px;    height:36px;}.btn{    border:0;    width:100px;    height:40px;    background:#36F;    font-size:15px;    color:#fff;}
Copy after login

Body又分两个块:图片和搜索框。

其中图片用一个div包裹,是为了让图片水平居中,并且和top层拉开一些距离。图片本身也需要调整尺寸。

搜索框部分用form,并且给search这一层调整水平居中。

这里表单和按钮的样式表里要写的比较多:

表单只要调整好宽和高就可以,按钮像之前一样,除了宽高还有字体和背景,另外要将border设定成0才会是扁平化的按钮。

做出来的页面只有一个细节和原网页不同:

原网页的表单和按钮是严格对齐的,而自己做的有一点偏移。

(解决方法待更新)

最后是底部的版权部分:

<div class="foot">    <div class="link">        <a href="#">把百度设为主页</a>         <a href="#">关于百度</a>         <a href="#">About Baidu</a>    </div>    <div class="copyright">        <p>            &copy;2015 Baidu <a href="#">使用百度前必读</a> <a href="#">意见反馈</a> 京ICP证030173号         </p>    </div></div>
Copy after login

CSS:

.foot{width:100%;    position:absolute;    bottom:100px;}.foot>.link{    text-align:center;    margin-bottom:10px;}.foot>.link>a{    font-size:12px;    font-family:"宋体";    text-decoration:underline;}.copyright{    text-align:center;}p,p>a{    font-size:12px;    font-family:"宋体";    color:#666;}
Copy after login

这里要说明一下,我觉得foot的部分应该要参照页面的底部来定位才更符合语义,所以这里使用了absolute并且和底部拉开一些距离(和百度差不多的距离)。

两行信息分了两个块分别定义,都设置水平居中。效果如下:

 

原网页:

 

效果还是很接近的,再看一下整体效果图(Chrome):

 

除了不能点以外感觉都还不错,

下次试着写复杂一点的网页。

 

(PS:IE的没放是因为实在有点惨)

 

Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn

Hot AI Tools

Undresser.AI Undress

Undresser.AI Undress

AI-powered app for creating realistic nude photos

AI Clothes Remover

AI Clothes Remover

Online AI tool for removing clothes from photos.

Undress AI Tool

Undress AI Tool

Undress images for free

Clothoff.io

Clothoff.io

AI clothes remover

AI Hentai Generator

AI Hentai Generator

Generate AI Hentai for free.

Hot Article

R.E.P.O. Energy Crystals Explained and What They Do (Yellow Crystal)
2 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Repo: How To Revive Teammates
4 weeks ago By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: How To Get Giant Seeds
3 weeks ago By 尊渡假赌尊渡假赌尊渡假赌

Hot Tools

Notepad++7.3.1

Notepad++7.3.1

Easy-to-use and free code editor

SublimeText3 Chinese version

SublimeText3 Chinese version

Chinese version, very easy to use

Zend Studio 13.0.1

Zend Studio 13.0.1

Powerful PHP integrated development environment

Dreamweaver CS6

Dreamweaver CS6

Visual web development tools

SublimeText3 Mac version

SublimeText3 Mac version

God-level code editing software (SublimeText3)

Difficulty in updating caching of official account web pages: How to avoid the old cache affecting the user experience after version update? Difficulty in updating caching of official account web pages: How to avoid the old cache affecting the user experience after version update? Mar 04, 2025 pm 12:32 PM

The official account web page update cache, this thing is simple and simple, and it is complicated enough to drink a pot of it. You worked hard to update the official account article, but the user still opened the old version. Who can bear the taste? In this article, let’s take a look at the twists and turns behind this and how to solve this problem gracefully. After reading it, you can easily deal with various caching problems, allowing your users to always experience the freshest content. Let’s talk about the basics first. To put it bluntly, in order to improve access speed, the browser or server stores some static resources (such as pictures, CSS, JS) or page content. Next time you access it, you can directly retrieve it from the cache without having to download it again, and it is naturally fast. But this thing is also a double-edged sword. The new version is online,

How do I use HTML5 form validation attributes to validate user input? How do I use HTML5 form validation attributes to validate user input? Mar 17, 2025 pm 12:27 PM

The article discusses using HTML5 form validation attributes like required, pattern, min, max, and length limits to validate user input directly in the browser.

How to efficiently add stroke effects to PNG images on web pages? How to efficiently add stroke effects to PNG images on web pages? Mar 04, 2025 pm 02:39 PM

This article demonstrates efficient PNG border addition to webpages using CSS. It argues that CSS offers superior performance compared to JavaScript or libraries, detailing how to adjust border width, style, and color for subtle or prominent effect

What are the best practices for cross-browser compatibility in HTML5? What are the best practices for cross-browser compatibility in HTML5? Mar 17, 2025 pm 12:20 PM

Article discusses best practices for ensuring HTML5 cross-browser compatibility, focusing on feature detection, progressive enhancement, and testing methods.

What is the purpose of the <datalist> element? What is the purpose of the <datalist> element? Mar 21, 2025 pm 12:33 PM

The article discusses the HTML &lt;datalist&gt; element, which enhances forms by providing autocomplete suggestions, improving user experience and reducing errors.Character count: 159

What is the purpose of the <progress> element? What is the purpose of the <progress> element? Mar 21, 2025 pm 12:34 PM

The article discusses the HTML &lt;progress&gt; element, its purpose, styling, and differences from the &lt;meter&gt; element. The main focus is on using &lt;progress&gt; for task completion and &lt;meter&gt; for stati

How do I use the HTML5 <time> element to represent dates and times semantically? How do I use the HTML5 <time> element to represent dates and times semantically? Mar 12, 2025 pm 04:05 PM

This article explains the HTML5 &lt;time&gt; element for semantic date/time representation. It emphasizes the importance of the datetime attribute for machine readability (ISO 8601 format) alongside human-readable text, boosting accessibilit

What is the purpose of the <meter> element? What is the purpose of the <meter> element? Mar 21, 2025 pm 12:35 PM

The article discusses the HTML &lt;meter&gt; element, used for displaying scalar or fractional values within a range, and its common applications in web development. It differentiates &lt;meter&gt; from &lt;progress&gt; and ex

See all articles