整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:

HTML网页中的图形是如何对齐的?有什么方法可以使它们对齐?


许多方法可以将HTML元素与CSS对齐,但是一起使用或单独使用它们并不是那么容易。开发人员所面临的困难之一就是试图将元素集中在页面中间。

因此,在本文中,我将展示一些最常用的方法,即通过使用不同的CSS属性在水平和垂直方向上居中图像。

水平居中

让我们开始使用3个不同的CSS属性将图像水平居中。

文字对齐

使图像水平居中的第一种方法是使用text-align属性。但是,仅当图像位于块级容器(例如<div>)内时,此方法才有效:

Margin: Auto

使图像居中的另一种方法是使用margin:auto属性(用于左边距和右边距)。但是,单独使用margin:Auto将不适用于图像。如果需要使用margin:auto,则还必须使用2个其他属性。

margin-auto属性对内联级别的元素没有任何影响。由于<img>标签是一个内联元素,因此我们需要先将其转换为块级元素:

其次,我们还需要定义宽度。因此,左右边缘可以占用其余的空白空间并自动对齐,可以这样解决问题(除非我们给出100%的宽度):

Display: Flex

将图像水平居中的第三种方法是使用display:flex。同样,我们对容器使用text-align属性,它也会使用display:flex。但是,仅使用display:flex是不够的。容器还必须具有一个称为justify-content的附加属性。

justify-content属性与display:flex一起使用,我们可以使用它水平放置图像的中心。最后,图像的宽度必须小于容器的宽度,否则,它会占用100%的空间,然后我们就无法对其进行集中化。

垂直居中放置图像

1、Display: Flex

对于垂直对齐,使用display:flex确实很有帮助。考虑到我们的容器的高度为800px,但图像的高度仅为500px:

现在,在这种情况下,向容器中添加一行代码(align-items:center)就可以了:

如果将align-items属性与display:flex一起使用,就会将元素垂直放置。

2、位置:绝对和变换属性

垂直对齐的另一种方法是一起使用position和transform属性。这个有点复杂,所以让我们一步一步地做。

步骤1:定义绝对位置

首先,我们将图像的定位行为从静态更改为绝对:

同样,它应该位于相对放置的容器内,因此我们添加一个位置:相对于其容器的div。

步骤2:定义顶部和左侧属性

其次,我们定义图像的顶部和左侧属性,并设置为50%。这会将图像的起点(左上角)移到容器的中心:

步骤3:定义变换属性

在第二步的时候已经将图像的一部分移出容器。因此,我们需要将其取回内部。在图像上定义转换属性,并在其X和Y轴上添加负50%可以达到目的:

还可以使用其他方法进行水平和垂直居中,我这里只尝试了最常用的方法。希望这篇文章可以帮助你了解如何在页面中心对齐图像。

技术等级】初级

【承接文章】《CSS文本属性,让你的段落更加美观,前端之路更进一步》

本文重点讲解CSS技术中文本样式的text-align属性以及”块级元素”和“内联元素”的使用。本文属于前端开发的初级教程,适合于刚刚开始接触CSS技术的学习者。

一、设置对齐方式:

CSS技术利用text-align属性来设置对齐方式

首先,在使用该属性的同时,要明确这是谁相对于谁的对齐方式。让我们一起来看下列代码。

<div>

<p style=”text-align:center”></p>

</div>

上述代码中使用了text-align属性的标记对是<p></p>标记对。那么,是谁相对于谁垂直居中了呢?下面列举了两种可能的情况:

  • <p>标记对相对于它的容器<div>标记对垂直居中

  • <p>标记对的内容(即“”文字)相对于<p>标记对本身垂直居中。

请大家仔细想一想,应该是上述那种情况?

正确答案是第二种。也就是说:使用了text-align属性的标记对,是这个标记对的内容在该标记对内部实现了对齐效果,而不是这个标记对在其容器内部实现了对齐效果。

其次,要想实现文本相对于自身的对齐方式,那么自身的标记对必须具备一定的宽度和高度。以上述代码来说,<p>标记对默认情况下的宽度为整个页面的宽度,也就是说这个标记对自身是有一定的宽度的,同时内部的文本数量又比较少,所以text-align在使用的过程中是可以看到效果的。

综合上述的内容,可以说text-align属性在使用时要注意以下两点:

  • 对齐效果是自身内部的文本内容相对于自身这个容器的对齐方式。

  • 标记对自身必须具备一定的宽度。

text-align属性可以有多种取值:

  • left,左对齐。内部文本在自身容器中左对齐

  • center,居中对齐。内部文本在自身容器中居中对齐。

  • right,右对齐。内部文本在自身容器中右对齐。

  • justify,两端对齐。内部文本在自身容器中两端对齐,即整个段落的左侧是整齐的,右侧也是整齐的。这种对齐方式和左对齐是有区别的。左对齐可以明显的观察出段落的右侧是不整齐的。

左对齐和两端对齐的区别

从上图中可以看出,两端的最右侧,也就是深色直线比对的位置。采用的左对齐的段落这条线附近的段落文本是没有对齐的;而采用了两端对齐的这条线附近的段落文本是对齐的。

二、块级元素与内联元素

我们将HTML的各个标记,根据在页面中展示内容的外观,分为两类:一类叫做“块级元素”,另一类叫做“内联元素”。

  • 典型的“块级元素”是<div></div>标记对。

  • 典型的“内联元素”是<span></span>标记对。

这两个标记对本身没有任何外观效果,内部可以盛放任何HTML标记对,是网页布局时常用的两个容器。 默认情况下,<div></div>标记的宽度为页面的整宽,即一个<div></div>标记占一行,被称为“块级元素”。<span></span>标记的宽度为内部内容的宽度,多个<span></span>标记的内容可以在一行内显示,被称为“行内元素”或“内联元素”。

还有哪些块级元素标记:

  • 常用的块级元素标记还包括:<p></p> <ul></ul> <ol></ol> <li></li> <table></table> <form></form>

还有哪些内联元素标记:

  • 常用的内联元素标记还包括:<a></a> <img /> <input /> <select></select> <textarea></textarea>

三、块级元素与内联元素的区别:

块级元素和内联元素的的区别可以从下图中看到。

“块级元素”和“内联元素”的区别

四、学习两个新的CSS属性

我们这里学习两个简单的CSS属性,分别为width和height属性。

  • width,为块级元素设置宽度。

  • height,为块级元素设置高度。

这两个属性的取值必须是带有单位的数值。

例:div{width:200px; height:30px;}

上述代码将页面中所有的<div></div>标记对都设置为了宽度200像素、高度30像素的矩形。也就是说这样一来,<div></div>标记对再也不占有整个页面的整宽了,但是仍然为独占一行的情况。

这两个属性是用来设置元素的宽度和高度的,但是只能适用于块级元素。这也是内联元素没有宽度的一个重要原因:因为利用width属性为内联元素设置宽度是没有效果的。

文章预告

下一篇文章中,小海老师会为大家从细节上深入剖析line-height属性以及该属性的用法。对于渴望在前端开发道路上前进的你一定不能错过!

小海教材

如果大家希望得到更加全面的关于HTML和CSS技术讲解的内容,可以私信我,我会免费将小海老师自己编写的HTML和CSS的PDF教材发给你,帮助你在前端开发的道路上阔步前行。

小海声明

在头条上也已经写了有十篇文章了。这些文章都是从前端开发的基础开始一步一步讲起的。我非常希望能有更多的前端开发初学者通过我写的文章,逐步学到一定的知识,甚至慢慢有了入门的感觉。这些文章都是我这几年教学过程中的经验,每写一篇时我都尽量把握好措辞,用简单易懂的语言描述,同时精心设计版面,让版面更加丰富,激发阅读兴趣。所以,每一篇文章可能篇幅不长,但是都要耗费小海老师很久的时间。

希望收藏了我写的文章的你同时可以关注一下“小海前端”,因为这些文章都是连载的,并且是经过我系统的归纳过的。关注“小海前端”,我会继续为大家奉上更加深入的前端开发文章,也希望更多的初学者跟着学下去,我们共同将前端开发的路努力坚持的走下去。

多数PHP程序都使用HTML表单从用户那里获取数据并计算结果。

HTML表单的一些基本原则

  • 选择适合于收集的数据类型和提供交互方式的控件。
  • 清楚标记每一个控件,这样用户就可以理解其功能。
  • 尽可能将标签对齐。将控件的左边缘对齐。
  • 将相关的标签分组,并且通过设计中使用空白将每一个分组分开。
  • 表单上的控件顺序应该类似于用户操作他们的顺序。

创建基本HTML表单

首先创造一个基本的HTML大纲,包含表单控件;然后将控件进行合并(HTML表单必须包括一个提交按钮,用户单击它可以将表单数据发送到服务器。)一个单独的HTML页面可以包含多个表单。

  • 创建HTML结构

包含表单的HTML结构和和普通的HTML结构一样。

<HTML>
  <HEAD>
  <TITLE>标题放在这</TITLE>
  </HEAD>
<BODY>
  表单页面放在这
  </BODY>
  </HTML>

在包含表单的HTML页面中可以使用任何HTML标签。基本的表单使用FROM标签来说明。该标签中METHOD属性接收GET或POST两个值中的一个。ACTION属性子明PHP脚本的url,该脚本可以收集通过表单收集的数据,可以是绝对路径或者相对路径

<FORM METHOD="method" ACTION="url"> 
  中间可以放置表单控件
  </FORM>
  • 合并控件

两个常用的基本控件:文本框和提交按钮。

文本框:允许用户键入信息以发送给PHP脚本。NAME属性为文本提供名称,PHP脚本可以通过名称准确访问其内容,因此它应该是唯一的且符合PHP变量命名规则(但不需要$符号),单标签。VALUE属性指明出现在提交按钮上面的标题。创建方式如下:

<INPUT TYPE = "TEXT" NAME="text">

提交按钮:允许用户将一个表单的内容发送到服务器,一个HTML表单对应应该有一个提交按钮。

示例:一个完整的HTML表单。

<HTML>
  <HEAD>
  <TITLE>标题</TITLE>
  </HEAD>
<BODY>
<FORM METHOD="POST" ACTION="phpinfo.php">
<INPUT TYPE="TEXT" NAME="user_name">
<BR/>
<BR/>
<INPUT TYPE="TEXT" NAME="user_email">
<BR/>
<BR/>
<INPUT TYPE="SUBMIT" VALUE="Send the Data">
</FORM>
  </BODY>
  </HTML>


  • 使用多个表单

可以在一个HTML页面中包含多个表单,注意下一个表单的FORM开始之前需要结束前一个FORM表单。

<HTML>
  <HEAD>
  <TITLE>标题</TITLE>
  </HEAD>
<BODY>
  
<FORM METHOD="POST" ACTION="phpinfo.php">
<INPUT TYPE="TEXT" NAME="user_name">
<BR/>
<BR/>
<INPUT TYPE="TEXT" NAME="user_email">
<BR/>
<BR/>
<INPUT TYPE="SUBMIT" VALUE="Send the Data">
<BR/>
<BR/>
</FORM>

<FORM METHOD="POST" NAME="phpinfo.php">
<INPUT TYPE="TEXT" NAME="user_name1">
<BR/>
<BR/>
<INPUT TYPE="TEXT" NAME="user_email1">
<BR/>
<BR/>
<INPUT TYPE="SUBMIT" VALUE="Send the Data1">
</FORM>

  </BODY>
  </HTML>


创建表单控件

  • 创建自定义的文本框

文本框的属性中,TYPE和NAME是必须的,其余是可选属性。SIZE属性用于设置文本框的可视大小;MAXLENGTH指明用户键入字符的最大长度;VALUE给出了一个最初显示在文本框中的值。

<input type="text" name="" size="" maxlength="" value="">
  • 创建文本区域

文本区域可以输入多行文本。NAME和ROWS属性是必须的。ROWS属性表明了文本区域内可以看到的文本行数,充满时会滚动。COLS属性指明可见文本列数与行数类似。WRAP属性指明文本区域内单词换行的方式,可以指定如下值。该标签为双标签。

说明

off

禁止单词换行但用户可以输入换行符强制换行

virtual/soft

各行显示为换行,但是换行并没有被发送到服务器

physica/hard

启用了单词换行

<inputarea name="" rows="" cols="" wrap="">
  • 创建密码框

创建密码框的语法与文本框相同,但要将TYPE属性指定为PASSWORD而不是TYPE。

<input type="password" name="" size="" maxlength="" value="">
  • 创建复选框

取两个值中的一个,即二选一。TYPE属性是必须的,checked属性出现,该复选框默认情况会被选定。value属性指定复选框被选定情况下被发送到服务器的值,默认发送on值。法如下:

<input type="checkbox" name="" checked value="">
  • 创建单选按钮

语法与复选框属性含义相同,但是TYPE属性的值必须是RADIO,NAME属性是必须的。

<input type="radio" name="" checked value="">
  • 创建列表框

用户可以选择一个或者多个选项,它是一个滚动菜单。

<select name="" multipile size="">options go here</select>

name属性是必须的,multipile属性指明用户可以通过按下crtl键并单击多个选项来选择它们

列表框的单选行为可作为单选按钮。

<option selected value="text"></options>
  • 创建隐藏域
<input type="hidden" name="text"value="">
  • 实现上传文件的HTML表单
<input type="FILE" name="name" accept="time" value="text">

其中type属性是必须的。格式通过使用MIME码指定。常用的格式如下:


超文本标记语言文本 .html,.html text/html

  普通文本 :txt text/plain

  word文档:application/msword

  RTF文本 :rtf application/rtf

  GIF图形 :gif image/gif

  JPEG图形 :jpeg,

  jpg: image/jpeg

  au声音文件:au audio/basic

  MIDI音乐文件 :mid,.midi audio/midi,audio/x-midi

  RealAudio音乐文件 .ra, .ram audio/x-pn-realaudio

  MPEG文件 .mpg,.mpeg video/mpeg

  AVI文件 .avi video/x-msvideo

  GZIP文件 .gz application/x-gzip

  压缩文件.rar application/octet-stream

  压缩文件.zip application/x-zip-compressed

  TAR文件 .tar application/x-tar


更多提交表单的信息

  • 使用图像提交数据
<input type="image" src="url" name="text" align="align">
  • 创建重置按钮
<input type="reset" value="text">