ホームページ >ウェブフロントエンド >htmlチュートリアル >CSS 配置 float_html/css_WEB-ITnose
概要
CSS には、配置とフローティングのためのいくつかのプロパティが用意されており、これらのプロパティを使用してさまざまなレイアウトを作成し、HTML ページの表現力を大幅に向上させることができます。
配置の基本的な考え方はシンプルです。これにより、要素のボックスを通常の位置、親要素、別の要素、さらにはブラウザ ウィンドウ自体を基準にして表示する場所を定義できます。
CSS には 3 つの基本的な配置メカニズムがあります:
デフォルトの配置 (静的) と相対配置 (相対) を含む通常のフロー。
float.
Absoluteとfixedを含む絶対配置
CSSボックスモデルの記事で、要素ボックス(主にブロックボックス)の概念を簡単に理解しましたが、ここでもう一度Makeしますいくつかの追加。
div、h1、または p 要素は、ブロックレベル要素と呼ばれることがよくあります。これは、これらの要素がコンテンツのブロック、つまり ブロック ボックス として表示されることを意味します。対照的に、span や Strong などの要素は、その内容が 1 行、つまり インライン ボックス 内に表示されるため、インライン要素 と呼ばれます。ただし、表示プロパティを使用して生成されるボックスのタイプを変更できます。
名前のないフレームと呼ばれる別のタイプのフレームもあります(名前のないフレームはラインフレームとも呼ばれます)。これは、ブロックレベルの要素 (div など) にテキストを追加すると発生します。 3 行のテキストを含む段落があり、各行が 名前のないボックス を形成しているとします。 <div>some text - 无名框<p>Some more text. - 无名框<br>Some more test. - 无名框<br>Some more test. - 无名框</p></div>
HTML のデフォルト レイアウトでは、ブロック ボックスが上から下に次々と配置され、ボックス間の垂直距離はボックスの垂直マージンによって計算されます (マージン値のマージに注意してください)。
インラインボックスは横一列に配置されます。それらの間隔は、水平方向のパディング、境界線、およびマージンを使用して調整できます。ただし、垂直方向のパディング、境界線、およびマージンはインライン ボックスの高さには影響しません。行ボックスは常に、そこに含まれるテキストを含めるのに十分な高さですが、行の高さを設定するとボックスの高さが大きくなることがあります。
Position 位置Position 属性は、要素の配置タイプを指定します。 5 つの値から選択できます。
Description | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
静的配置以外の最初の親要素を基準にして配置される絶対配置要素を生成します。 |
要素の位置は、left、top、right、bottom 属性によって指定されます。
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ブラウザウィンドウを基準にして相対的に配置された絶対配置要素を生成します。 |
要素の位置は、left、top、right、bottom 属性によって指定されます。
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
通常の位置を基準にして相対的に配置された要素を生成します。 |
要素の位置は、left、top、right、bottom 属性によって指定されます。
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
デフォルト値。配置を行わない場合、要素は通常のフローで表示されます (左、上、右、下、および z-index 宣言は無視されます)。 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
親要素から継承します。IE8 より前ではサポートされていません。 |
值 | 描述 |
---|---|
none | 此元素不会被显示。 |
block | 此元素将显示为块级元素。 |
inline | 此元素会被显示为内联元素。 |
inline-block | 行内块元素。 |
list-item | 此元素会作为列表显示。 |
run-in | 此元素会根据上下文作为块级元素或内联元素显示。 |
table | 此元素会作为块级表格来显示。 |
inline-table | 此元素会作为内联表格来显示。 |
table-row-group | 此元素会作为一个或多个行的分组来显示(类似 92cee25da80fac49f6fb6eec5fd2c22a)。 |
table-header-group | 此元素会作为一个或多个行的分组来显示(类似 ae20bdd317918ca68efdc799512a9b39)。 |
table-footer-group | 此元素会作为一个或多个行的分组来显示(类似 06669983c3badb677f993a8c29d18845)。 |
table-row | 此元素会作为一个表格行显示(类似 a34de1251f0d9fe1e645927f19a896e8)。 |
table-column-group | 此元素会作为一个或多个列的分组来显示(类似 879b49175114808d868f5fe5e24c4e0b)。 |
table-column | 此元素会作为一个单元格列显示(类似 581cdb59a307ca5d1e365becba940e05) |
table-cell | 此元素会作为一个表格单元格显示(类似 b6c5a531a458a2e790c1fd6421739d1c 和 b4d429308760b6c2d20d6300079ed38e) |
table-caption | 此元素会作为一个表格标题显示(类似 63bd76834ec05ac1f4c0ebbeaafb0994) |
inherit | 规定应该从父元素继承 display 属性的值。 |
a#top { display: none;}
记住常用的即可,其余的仅供查阅。
visibility 属性规定元素是否可见。
值 | 描述 |
---|---|
visible | 默认值。元素可见。 |
hidden | 元素不可见。 |
collapse | 当在表格元素中使用时,此值可删除一行或一列,但是它不会影响表格的布局。被行或列占据的空间会留给其他内容使用。如果此值被用在其他的元素上,会呈现为 hidden。 |
inherit | 从父元素继承。 |
h2 { visibility:hidden;}
注意:使用此属性,即使不可见的元素也会占据页面上的空间。请使用 display 属性来创建不占据页面空间的不可见元素。
clip 属性用来剪裁绝对定位元素。这个属性可以定义一个剪裁矩形。对于一个绝对定位元素,在这个矩形内的内容才可见。剪裁区域可能比元素大,也可能比元素小。
该属性的默认值为 auto , 不应用任何剪裁。
position: absolute;clip: rect (top, right, bottom, left);
top, bottom 都是相对于包围此元素的祖先元素上框的距离。right, left 都是相对于包围此元素的祖先元素左框的距离。
四个尺寸围成一个矩形,元素在此矩形内的部分被显现出来。
img { position:absolute; clip:rect(0px 50px 200px 0px)}
光标定位应该叫光标样式,此属性用来设置当鼠标移动到元素上鼠标应该呈现的样式。这个内容很简单,直接贴出示例。
请将代码自行添加到HTML文件中检验效果。
<span style="cursor:auto;">auto</span><br /><span style="cursor:crosshair;">crosshair</span><br /><span style="cursor:default;">default</span><br /><span style="cursor:pointer;">pointer</span><br /><span style="cursor:move;">move</span><br /><span style="cursor:e-resize;">e-resize</span><br /><span style="cursor:ne-resize;">ne-resize</span><br /><span style="cursor:nw-resize;">nw-resize</span><br /><span style="cursor:n-resize;">n-resize</span><br /><span style="cursor:se-resize;">se-resize</span><br /><span style="cursor:sw-resize;">sw-resize</span><br /><span style="cursor:s-resize;">s-resize</span><br /><span style="cursor:w-resize;">w-resize</span><br /><span style="cursor:text;">text</span><br /><span style="cursor:wait;">wait</span><br /><span style="cursor:help;">help</span>
overflow 属性规定当内容溢出元素框时发生的事情。
值 | 描述 |
---|---|
visible | 默认值。内容不会被修剪,会呈现在元素框之外。 |
hidden | 内容会被修剪,并且其余内容是不可见的。 |
scroll | 内容会被修剪,但是浏览器会显示滚动条以便查看其余的内容。 |
auto | 如果内容被修剪,则浏览器会显示滚动条以便查看其余的内容。 |
inherit | 从父元素继承。 |
div { background-color:#00FFFF; width:150px; height:150px; overflow: scroll}
如果值为 scroll,不论是否需要,用户代理都会提供一种滚动机制。因此,有可能即使元素框中可以放下所有内容也会出现滚动条。
vertical-align 属性设置元素的垂直对齐方式。
该属性定义行内元素的基线相对于该元素所在行的基线的垂直对齐。允许指定负长度值和百分比值。
在表单元格中,这个属性会设置单元格框中的单元格内容的对齐方式。
值 | 描述 |
---|---|
baseline | 默认。元素放置在父元素的基线上。 |
sub | 垂直对齐文本的下标。 |
super | 垂直对齐文本的上标 |
top | 把元素的顶端与行中最高元素的顶端对齐 |
text-top | 把元素的顶端与字体的顶端对齐 |
middle | 把此元素放置在中部。 |
bottom | 把元素的顶端与行中最低的元素的顶端对齐。 |
text-bottom | 把元素的底端与字体的底端对齐。 |
length | |
% | 使用 "line-height" 属性的百分比值来排列此元素。允许使用负值。 |
inherit | 从父元素继承。 |
具体样式请将代码自行添加到HTML文档中验证。
<p>这是一幅H<SUB>2</SUB>O<img src="http://i11.tietuku.com/b8eaac4d3b209c7c.gif" />X<SUP>2</SUP> baseline 对齐的图像。</p> <p>这是一幅H<SUB>2</SUB>O<img style="vertical-align:sub;" src="http://i11.tietuku.com/b8eaac4d3b209c7c.gif" />X<SUP>2</SUP> sub 对齐的图像。</p> <p>这是一幅H<SUB>2</SUB>O<img style="vertical-align:super;" src="http://i11.tietuku.com/b8eaac4d3b209c7c.gif" />X<SUP>2</SUP> super 对齐的图像。</p><p>这是一幅H<SUB>2</SUB>O<img style="vertical-align:top;" src="http://i11.tietuku.com/b8eaac4d3b209c7c.gif" />X<SUP>2</SUP> top 对齐的图像。</p><p>这是一幅H<SUB>2</SUB>O<img style="vertical-align:text-top;" src="http://i11.tietuku.com/b8eaac4d3b209c7c.gif" />X<SUP>2</SUP> text-top 对齐的图像。</p> <p>这是一幅H<SUB>2</SUB>O<img style="vertical-align:middle;" src="http://i11.tietuku.com/b8eaac4d3b209c7c.gif" />X<SUP>2</SUP> middle对齐的图像。</p><p>这是一幅H<SUB>2</SUB>O<img style="vertical-align:bottom;" src="http://i11.tietuku.com/b8eaac4d3b209c7c.gif" />X<SUP>2</SUP> bottom 对齐的图像。</p><p>这是一幅H<SUB>2</SUB>O<img style="vertical-align:text-bottom;" src="http://i11.tietuku.com/b8eaac4d3b209c7c.gif" />X<SUP>2</SUP> text-bottom 对齐的图像。</p><p>这是一幅H<SUB>2</SUB>O<img style="vertical-align:24px;" src="http://i11.tietuku.com/b8eaac4d3b209c7c.gif" />X<SUP>2</SUP> 24px 对齐的图像。</p><p>这是一幅H<SUB>2</SUB>O<img style="vertical-align:0px;" src="http://i11.tietuku.com/b8eaac4d3b209c7c.gif" />X<SUP>2</SUP> 0px 对齐的图像。</p><p>这是一幅H<SUB>2</SUB>O<img style="vertical-align:-50px;" src="http://i11.tietuku.com/b8eaac4d3b209c7c.gif" />X<SUP>2</SUP> -50px 对齐的图像。</p><p>这是一幅H<SUB>2</SUB>O<img style="vertical-align:20%;" src="http://i11.tietuku.com/b8eaac4d3b209c7c.gif" />X<SUP>2</SUP> 20% 对齐的图像。</p>小结
CSS 定位和浮动是HTML布局中的重要部分,需要认真参透。注意掌握定位的几种类型及区别,理解浮动的排列及清除,掌握与定位相关的一些属性。
篇幅还是稍长,估计大伙都没时间看完了。