分类号基本格式有哪些(网!

分类号基本格式有哪些(网

趋势迷

分类号基本格式有哪些(

2024-07-10 13:39:03 来源:网络

分类号基本格式有哪些(

Oracle基本数据类型存储格式浅析(一)字符类型
主要说明字符类型的存储式🎎🌝——-🐉🐣。主要包括char🍀_🤩、varchar2和long等几种类型⛈😞_|🐀。 1 实验(数字🍁——☺️,英文字母) 1.1 建表 SQL create table test_char(char_col char(10), varchar_col varchar2(10), long_col long) tablespace assm; Table created SQL insert into test
1 实验(数字🐽-🕷,英文字母)
1.1 建表
SQL> create table test_char(char_col char(10), varchar_col varchar2(10), long_col long) tablespace assm;
Table created
SQL> insert into test_char values ('abc', '123', ',fd');
1 row inserted
SQL> commit;
Commit complete
SQL> select a.*,
2 rowid,
3 dbms_rowid.rowid_object(rowid) obj#,
4 dbms_rowid.rowid_relative_fno(rowid) file#,
5 dbms_rowid.rowid_block_number(rowid) block#,
6 dbms_rowid.rowid_row_number(rowid) row#
7 from test_char a;
CHAR_COL VARCHAR_COL LONG_COL ROWID OBJ# FILE# BLOCK# ROW#
---------- ----------- ------------ ------------------ ---------- ---------- ---------- ----------
abc 123 ,fd AAANCkAAHAAAACYAAA 53412 7 152 0
1.2 dump block
FILE#为7🕸🐕-|🎭🦭,BLOCK#为152😂🐽_😳。
SQL> alter system dump datafile 7 block 152;
System altered
SQL> select p.spid
2 from v$session s, v$process p, v$mystat m
3 where s.paddr = p.addr
4 and s.sid = m.sid
5 and rownum = 1;
SPID
-----------
18108
1.3 查看trace文件
根据SPID找到trace文件🐂🦮-🦎。
……
block_row_dump:
tab 0, row 0, @0x1f82
tl: 22 fb: --H-FL-- lb: 0x1 cc: 3
col 0: [10] 61 62 63 20 20 20 20 20 20 20
col 1: [ 3] 31 32 33
col 2: [ 3] 2c 66 64
end_of_block_dump
1.4 结论分析
观察dump出来的结果🦐|——🐞😏,可以发现以下几点👻🐑——🙄:
1.对于每个字段😲♦|😲,除了保存字段的值以外🌝🐞——🐒,还会保存当前字段中数据的长度🎫☁️|🦚。而且🤫🐚-🌱,oracle显然没有把字段的长度定义或类型定义保存在block中♥-🎃,这些信息保存在oracle的数据字典里面🐤🐷__😊。
2.根据dump的结果🎍__🦔,可以清楚的看到🐆|🦏🌨,字符类型在数据库中是以Ascii格式存储的😇🦈|_🐆。
SQL> select chr(to_number('61', 'xx')) from dual;
CHR(TO_NUMBER('61','XX'))
-------------------------
a
SQL> select dump(char_col, 16) d_char from test_char;
D_CHAR
--------------------------------------------------------------------------------
Typ=96 Len=10: 61,62,63,20,20,20,20,20,20,20
SQL> select dump(varchar_col, 16) d_varchar2 from test_char;
D_VARCHAR2
--------------------------------------------------------------------------------
Typ=1 Len=3: 31,32,33
SQL> select dump(long_col, 16) d_varchar2 from test_char;
select dump(long_col, 16) d_varchar2 from test_char
ORA-00997: illegal use of LONG datatype
由于DUMP 不支持LONG类型🎫🪡-🧐,因此我们使用了alter system dump block的方式🦩🐇_🎿,通过比较两种方式得到的结果🍁|🌩,发现DUMP()函数不但方便🐹😕_🐗,结果清晰🙊——|🌵,而且指出了进行DUMP的数据类型☁️——-🐹,在以后的例子中🐰————💥,除非必要 的情况🦩🏑__🐆,否则都会采用DUMP()函数的方式进行说明🐝😌-🐸。
2 实验(中文)
2.1 中文
SQL> select a.name, a.value$ from sys.props$ a where a.name like '%CHARACTERSET%';
NAME VALUE$
------------------------------ ----------------
NLS_CHARACTERSET ZHS16GBK
NLS_NCHAR_CHARACTERSET AL16UTF16
SQL> insert into test_char values ('定长', '变长', null);
1 row inserted
SQL> commit;
Commit complete
SQL> select dump(char_col, 16) d_char from test_char;
D_CHAR
--------------------------------------------------------------------------------
Typ=96 Len=10: 61,62,63,20,20,20,20,20,20,20
Typ=96 Len=10: b6,a8,b3,a4,20,20,20,20,20,20
SQL> select dump(varchar_col, 16) d_varchar2 from test_char;
D_VARCHAR2
--------------------------------------------------------------------------------
Typ=1 Len=3: 31,32,33
Typ=1 Len=4: b1,e4,b3,a4
根据dump结果🦛-_🪳🦗,可以清楚的看出🪢|-🦊🪀,普通英文字符和标点用一个字节表示😑——🌻🐈‍⬛,而中文字符或中文标点需要两个字节来表示🪅🦉_🐯🌾。
2.2 nchar与nvarchar2
SQL> create table test_nchar(nchar_col nchar(10), nvarchar_col nvarchar2(10));
Table created
SQL> insert into test_nchar values('nchar定长', 'nvarchar变长');
1 row inserted
SQL> commit;
Commit complete
SQL> select dump(nchar_col, 16) from test_nchar;
DUMP(NCHAR_COL,16)
--------------------------------------------------------------------------------
Typ=96 Len=20: 0,6e,0,63,0,68,0,61,0,72,5b,9a,95,7f,0,20,0,20,0,20
SQL> select dump(nvarchar_col, 16) from test_nchar;
DUMP(NVARCHAR_COL,16)
--------------------------------------------------------------------------------
Typ=1 Len=20: 0,6e,0,76,0,61,0,72,0,63,0,68,0,61,0,72,53,d8,95,7f
采用nchar🕷🎾——🌺,nvarchar2虽然仍然是采用Ascii码存储🦘__🌴🌥,但是nchar使用的AL16UTF16字符集*🌗|——🦇🐽,编码长度变为2个字节🐲🙄——🌿。这样中文使用两个字节😶😲|✨,对于可以用一个字节就表示的英文字符🦕|——🎴,采用了高位补0的方式凑足2位☁️__🐪🕊,这样😺⚡️——_🤠🪳,对于采用AL16UTF16字符集的nchar类型🍁|♠,无论中文还是英文都用2位字符表示🦄🪢|🏵。
转贴🐅😒-_🐞:http://www.itpub.net/forum.php?mod=viewthread&tid=308317

分类号基本格式有哪些(

Oracle基本数据类型存储格式浅析(二)数字类型
这篇文章主要描述NUMBER类型的数据和如何在数据库中存储的😙——-🐩✨。 1 number类型的组成 Oracle的number类型最多由三个部分构成😬♣__🎟,这三个部分分别是 “最高位表示位”😦*||*、“数据部分”🦌🦧_|🌙、“符号位”🎾|*🐿。 其中负数存在符号位😒🐆-🤓😤,正数没有符号位🐤🐓————🐵。 另外🐓🐌_——🪢*,数0比较特殊🦜-🐃🦧,它只包
这篇文章主要描述NUMBER类型的数据和如何在数据库中存储的🙁|-🤨。
1 number类型的组成
Oracle的number类型最多由三个部分构成🏓🎰_🐟🦓,这三个部分分别是“最高位表示位”😛😤-|🎈、“数据部分”🐀🐌_💮😇、“符号位”🐭|🐆🦇。
其中负数存在符号位*🦎-_🐄,正数没有符号位🦡🌓_|😳😊。
另外👿-——😈,数值0比较特殊🐐_——🦇*,它只包含一个数值最高位表示位80🐊*——🌎,没有数据部分😩__😑🦣,也没有符号位🙁————🐝。
1.1 最高位表示位
正数的最高位表示位大于80😵_🐪,负数的最高位表示位小于80🦄|_🐷🐇。
一个正数的最高位是个位的话🦟_🦀,则最高位表示位为0X C1(即十进制的193)*🤤——🎄,百位🐇_🦔🕊、万位依次为C2🌱😽|*、C3🎇|🦊🙊,百分位😇|🦁🦝、万分为依次为C0🎯😡-_*☹️、BF🦠🦤|——😰。
一个负数的最高位为个位的话🐃🎫--🤬🐣,最高位表示位为0X 3E(即十进制的62)🌍😏|🎑,百位🐾————🦝🤮、万位依次为3D😌🐙|_🦢、3C🐅_-🍂🖼,百分位🐳-🐿🕸、万分位依次为3F🐨😓-|🐃🥊、40*-_🌈。
1.2 数据部分
数据部分每一字节都表示2位数字🦅|😂🐩。(由)这个两位数字(组成的一个数值)的范围可能是从0到99🐊|*,如果是数据本身是正数🐏🐕|——⭐️,则分别用六进制的1到64表示🪀——🐟🦅,如果数据本身是负数🦣-🐸🦛,则使用六进制65到2表示🐇_🦬🦇。
注意🐡😃——_🌹🎱:
在数据部分中😅🐑|🌓,同样是(数据部分中的)0🐦——🪀🐀,在正数时用0x01表示😼——🤡,而在负数时用0x65表示🐁|-🌗。
在数据部分中🤡_🎊,同样是(数据部分中的)99😃__😔,在正数时用0x64表示🐝_|🦂,而在负数时用0x2表示😳-|🐱。
1.3 符号位
当数字为负数🌤🙂-🪲🤒,才有符号位🌗🤭_——🌥。符号位用0x66表示🤩————🐍🎏。
注意🎇🐺_|🥍🐔:用0x66表示🪱☹️|🌿,因为同样的一个数字🦠_🦆,在正数与负数表示时🍁🤖-😓🐓,它们之和为0x66🪱🦡_🐯。例如🦍——|🌔:1的数据部分表示为0x02🦇——🐖♣,而-1的数据部分表示为0x64🦘——*🍀。这个两个数之和为0x66🤫🐕-——🐬。
2 实验过程
上面的这些是我通过DUMP结果总结出来的🦜🤩-😶🎄,对于上面提到的这些关系常数🌺🎿——-🐵*,Oracle之所以这样选择是有道理的🎳🧶|🐟,我们后面根据例子也可以推导出来⛳🐽|🤑,而且会进一步说明为什么会采用这种方式表示🐬|——*🙂。这里列出的意思是使大家先对NUMBER类型数据有一个大概的了解🥌_🌝🦟。
下面我们通过一个例子详细说明🐈_|🍄:
SQL> create table test_number (number_col number);
Table created
SQL> insert into test_number values (0);
1 row inserted
SQL> insert into test_number values (1);
1 row inserted
SQL> insert into test_number values (2);
1 row inserted
SQL> insert into test_number values (25);
1 row inserted
SQL> insert into test_number values (123);
1 row inserted
SQL> insert into test_number values (4100);
1 row inserted
SQL> insert into test_number values (132004078);
1 row inserted
SQL> insert into test_number values (2.01);
1 row inserted
SQL> insert into test_number values (0.3);
1 row inserted
SQL> insert into test_number values (0.00000125);
1 row inserted
SQL> insert into test_number values (115.200003);
1 row inserted
SQL> insert into test_number values (-1);
1 row inserted
SQL> insert into test_number values (-5);
1 row inserted
SQL> insert into test_number values (-20032);
1 row inserted
SQL> insert into test_number values (-234.432);
1 row inserted
SQL> commit;
Commit complete
SQL> col d_number format a50
SQL> select number_col, dump(number_col, 16) d_number from test_number;
NUMBER_COL D_NUMBER
---------- --------------------------------------------------
0 Typ=2 Len=1: 80
1 Typ=2 Len=2: c1,2
2 Typ=2 Len=2: c1,3
25 Typ=2 Len=2: c1,1a
123 Typ=2 Len=3: c2,2,18
4100 Typ=2 Len=2: c2,2a
132004078 Typ=2 Len=6: c5,2,21,1,29,4f
2.01 Typ=2 Len=3: c1,3,2
0.3 Typ=2 Len=2: c0,1f
1.25E-6 Typ=2 Len=3: be,2,1a
115.200003 Typ=2 Len=6: c2,2,10,15,1,4
-1 Typ=2 Len=3: 3e,64,66
-5 Typ=2 Len=3: 3e,60,66
-20032 Typ=2 Len=5: 3c,63,65,45,66
-234.432 Typ=2 Len=6: 3d,63,43,3a,51,66
15 rows selected
3 结论解释
下面根据例子得到的结果🍀🌲-🐭,对每行进行说明😔🐋-|☀️。首先说明两点基本的🐚🕊|——🦅🐱。DUMP函数返回的TYPE=2表示DUMP的数据类型是NUMBER🐥🐅__🦋🐸,LENGTH=N表示数值在数据库中存储的长度是N🐝-_😉。
3.1 Dump(0)
DUMP(0) 的结果是0x80*🥅_🦝🌈,在前面已经提到🪢_🌼👹,0只有高位表示位🧶-——🌈🪲,没有数据位🦬🌴_|🦈🦇。由于0的特殊🐊|🌧🦢,既不属于正数🐝--🌻😪,也不属于负数🎳🦁——🐕*,因此使用高位表示位用80表示就足够了*🀄——_🤥🦂,不会和其它数据冲突🎏🐚_🦮🍄,Oracle出于节省空间的考虑将后面数据部分省掉了🌛_😐🌵。
但是为什么Oracle选择0x80表示0呢?我们知道正数和负数互为相反数🤧🦌——_🎄🌵,每个正数都有一个对应的负数🐃-⭐️😲。因此如果我们要使用编码表示数值🥀🪰|🐑🌈,则表示正数和负数的编码应该各占一半🎆-|🌗🌳,这样才能保证使Oracle表示数据范围是合理的🐣-——🌸。而0x80的二进制编码是1000 0000🐩_🐓,正好是一个字节编码最大值的一半🪢-👹,因此🎄🐃——*🐽,Oracle选择0x80来表示0⛳🦓|🐖😭,是十分有道理的🦔——_🤭。
注释🍃————🌗🌻:
0x80的二进制编码是1000 0000🐣_|🤫,正好是一个字节编码最大值的一半🐃-🏸*,因为
1·0111 1111共2的8次方-1个(Oracle底层是用C语言实现的🐟🤩-🦎,我们知道二进制0在C语言中用作字符串终结符🐾_|🐇🧧,Oracle为了避免这个问题🐲🎾--🦉,故将0这个值去掉)💥|🌻,而1000 0001·1111 1111也共2的8次方-1个🐒🐄——-😰。
3.2 Dump(1)
DUMP(1)的结果是0xc102🥈-|⛈🐘,0xc1表示了最高位个位🦟-_🦤🐰,0x2表示数值是1🌙——🪡🎰。首先👺🥀——|🐯,Oracle为什么用C1表示个位呢?其实🤕-🐘🍂,道理和刚才的差不多🦁-🤤。采用科学计数法🐹🦔-🐲,任何一个实数S都可以描述为A.B×10n🐜-🎱🦋,A 表示整数部分🎲-🦡,B表示小数部分🐪🤑|-🪁🐅,而N表示10的指数部分🎳🦊_😆🦟。当S大于1时♠🤭-🌴🏑,N大于等于0🦟😰|🦑,S小于1时🌿_🐜,N小于0🌜🐥——🌲🦄。也就是说🎾🏈_|🐟*,采用指数的方式表示😥*|-😚🍀,N大于0和 N小于0的情况各占一半左右时🐗*__😏🐺,Oracle所表示的范围最广(?)🦜🔮|🎄。因此*_🐱,Oracle选择了C1表示个位是最高位的情况😠_☘🌷。
SQL> SELECT TO_CHAR(ROUND(TO_NUMBER('81', 'XXX') + (TO_NUMBER('FF', 'XXX') - TO_NUMBER('81', 'XXX') + 1)/2), 'XX') VALUE FROM DUAL;
VALUE
-----
C1
为什么ORACLE使用0x2表示1🎭😘|🌜🐵,而不直接使用0x1表示1呢?Oracle每个字节表示2位数🐞||🐉,因此对于这个2位数🦑🐚|🐺,出现的可能是0~99共100种可能🎗🦎-🏈🦣,问题出在0这里🐳🐙-😉🙉。
Oracle底层是用C语言实现的🥅——🦍,我们知道二进制0在C语言中用作字符串终结符🐭-😜🐜,Oracle为了避免这个问题🌤|_🦭🧶,因此使用了0x1表示0🏒🐡_*🤐,并依次类推🦅|🦊,使用0x64表示99🧵🧐|😅。
3.3 Dump(2)
DUMP(2)的结果是0xc103🤠-🐟。
3.4 Dump(25)
DUMP(25)的结果是0xc11a🤣🥈_🪳。前面提到💫🦍-🌺🌿,数据部分是以2位为最小单位保存的🦜|💐。因此对于25来说🐾🎭-🎋,最高位表示位仍然是个位🐬|🤔🐁,个位上的值是25😫♥_⚡️🐖,根据上面推出的规则☘*_🦕,25在存储为0xc11a🎨🕊-_*🐅。
SQL> SELECT TO_CHAR(25 + 1, 'xx') VALUE FROM DUAL;
VALUE
-----
1a
3.5 Dump(123)
DUMP(123)的结果是0xc20218🥇🐯||😈。由于123最高为是百位🦘🤕——|🀄,所以最高位表示位为0xc2🐫_🪀,百位上是1🐃🙈——🎋😇,用0x02表示☺️——🧿,个位上是23😆🥅||🎿,用0x18表示🦕🔮——🦄。
3.6 Dump(4100)
DUMP(4100)的结果是0xc22a😡🌻_*。
注意一点😂🐭__😒,如果数字最后数位上如果是0🐞🐘-——🦠,Oracle出于节省空间的考虑不会存储*🎴_——🐕。比如🌵__🙄🦃:4100只保存百位上的41😢🙁——🎁,12000000只保存百位位上的12🦂🪅_|🦈,512000只保存万位上的51和百位上的20🐍🎯--🤣。
3.7 Dump(132004078)
DUMP(132004078)的结果是0xc5022101294f🐗-|😆😬。最高位是亿位🌺🐾|🌏😀,因此用0xC5表示🦚|🦂,亿位上是1用0x02表示🏆——|💫,百万位上是32用0x21表示🤭🐜-*,万位上是0用0x01表示👺🐍——🤭🥀,百位上是40用0x29表示🐾_🧧,个位上78用0x4F表示🤡🐆|_🐊。
注意😨-🦓🙊:中间数位上的0不能省略🙁|🐘。
3.8 Dump(2.01)
DUMP(2.01)的结果是0xc10302🌜🌿|-🎾🥀。最高位是个位用0xC1表示🐰|_🦧🦉,个位上是2用0x03表示🌏🐳——🎳,百分位上是1用0x02表示🦈🐄|_😹。
注意♦——-🙊🦖:个位下面一位是百分位不是十分位🐕‍🦺😃|😲。
3.9 Dump(0.3)
DUMP(0.3)的结果是0xc01f🥍✨_-🎇。最高位是百分位😐🐸_-🦇,使用0xC0表示🐩——-🥀,百分位上是30用0x1F表示💮-😗。
3.10 DUMP(0.00000125)
DUMP(0.00000125)的结果是0xbe021a🦤💫|*🎊。最高位是百万分位🎣*——🐄🤪,用0xBE表示🐝🦌|😞,最高位上的1用0x02表示🌥_🪳,25用0x1a表示😀——🌾。
3.11 DUMP(115.200003)
DUMP(115.200003)的结果是0xc20210150104🌧🦓-🐲😜。
3.12 DUMP(-1)
DUMP(-1)的结果是0x3e6466🐁——🌺🤕。最高位个位🤖🙃_|🏓,用0x3E表示👿🪱_🏒,64表示个位上是1🎯————🦦,66是符号位🎄🐪-🦖,表示这个数是负数🪄_🐋。
负数和正数互为相反数🎑——|🔮🪀,负数的最高位表示位和它对应的相反数的最高位相加的值是FF😆😂-|🐌。 1的最高位表示位是C1🪆🐹-🌈🐩,-1的最高位表示位是3E🧐🦍||🐱。负数中1用64表示🦥|_🦓。负数中的数值和它相反数的数据相加是0x66🐹-|🦡🏈,也就是符号位🕷🦆_——🪁。正数1用0x02 表示🎏🦃_🐚,负数1用0x64表示🥉😰|🐥🃏,二者相加是0x66🐖-🕊🦖。负数多个一个标识位🏑|-🌙🤒,用0x66表示🐆🥅--🐕‍🦺。由于正数的表示范围是0x01到0x64🐂☹️_——💮,负数的表示范围是 0x65到0x02🙈🦒——|🍀。因此🎋——👿🐞,不会在表示数字时出现的0x66表示🐫|——🌱🎮。
3.13 DUMP(-5)
DUMP(-5)的结果是0x3e6066🐌😻————🥅😦。0x3e表示最高位是个位🐸🐼--🦠,0x60表示个位上是5🐞🦇--🌍,0x66是符号标识位🐔🎎-——🤖☁️。0x3E加0xC1是0xFF🎮🎉_🐰。0x60加0x06的结果是0x66😀————😌。
3.14 DUMP(-20032)
DUMP(-20032) 的结果是0x3c63654566🌟🦄|-🧸。最高位是万位😧|🐗,正数的万位是0xC3🐖🌺_——🕊🦃,因此负数的万位是0x3C⛈🎮——🪅。万位上是2🤥_-🙄,正数用0x03表示♥|_🦖,负数为0x63🪅-🥌,百位上是0🐍——🍁,正数用0x01表示🐜-🐕🎁,负数使用0x65表示😔😮-|🤓🤫,个位上是32🐈‍⬛--🐣🦆,正数用0x21表示☘|☁️🌎,负数使用0x45表示⛳🐈——🍀🦈。0x66是负数表示位🎣|🌗🪶。
3.15 DUMP(-234.432)
DUMP(-234.432)的结果是0x3d63433a5166🧶🧶||🐽☘️。
转贴🦏🤡——🕊:http://www.itpub.net/forum.php?mod=viewthread&tid=308317

css权威指南-基本视觉格式化(水平与垂直)_html/css_WEB-ITnose
(1)正常流☺️🦚|🐀:是指西方语言文本从左向右😼🐆————🏵,从上向下显示🐺*——🕸😋。如果要让一个元素不在正常流中国🐐|🖼🪳,唯一的办法
就是使之成为浮动或定位元素🧩_🍄*。
(2)非替换元素🦏————🌈:如果元素的内容包含在文档中💫|🌲,则称之为非替换元素🌳--🕊🍄。
(3)替换元素🍀🐓|🐡🐟:指用作为其他内容占位符的一个元素🐹——🦫。例子🐟🤖|🙀:img中的图像
(4)块级元素🦇——🦘:在正常流中🦧——_⛅️😵,会在其框之前和之后生成“换行”
所以出于正常流中的块级元素会垂直摆放🏵|🪱*。
(5)行内元素🎑*_-🎆:不会再之前或之后生成行分隔符🥋-🌗,它们是块级元素的后台🍃😓——-🐳🌦。
(6)根元素🦔🐙-——🪡:位于文档树顶端的元素🪢🦍——🎲。在HTML中🦂--🌳,就是元素HTML😼🥀-_😾🦗。
2.水平格式化
通常我们指的元素的宽度😮——🎨,指的是其内容的宽度🎇——🐨,不包括内补🐉|😈🌳,外补🏑——|🐕‍🦺,边😕☀️_🌨🦌。
这七个水平属性的总和要等于父元素的width😦🐬-——🃏。
这里面只有width,margin-left,margin-left这三个可以设置为🌿_——🎯:auto
其他都必须设为特定的值或者默认宽度为0.
下面就以这三个auto的组合来展现问题🍀🎲————🌷🎮:auto会自动补齐宽度(屏幕总宽度1366)
设置margin-left为auto:
水平格式化
设置margin-right为auto:
水平格式化
设置width为auto:
水平格式化
设置margin-left和margin-right为auto:
水平格式化
设置margin-left和margin-right和width都为auto:
水平格式化
设置margin-left和margin-right和width都不为auto:
水平格式化
下面会遇到一种复杂特殊奇怪的现象🐵🙈|🐀🐸:那就是外边距可以是负值
zqzqzq
可以看出来宽度是440(width;auto这里440是实时计算的值🌤|🌎🌻,而不是显示的指定的值🦭😜_🥏,
其实这里涉及到一个问题🏏_🏸:有些是实时计算的值😐||🥀,有些DOM可以获取实时计算的值🐋🐏——|☀️。)🙃🦚_🍂🥌,比父400还要宽🎄|——🦈!说好的不能比父元素宽呢?
但是这个计算没有错误🐾-🎎🌜:
10+0+0+440+0+0-50=400
最终还是等于400🎀_🐲🦗。
前面说的都是费替换元素的水平格式化😣🌜_——☘,下面来说替换元素的水平格式化🥎🐸————*🎐。( 典型的替换元素就是img)
示例图片😡--🥀🤡:w:200px,h:300px.
当我们改变她的宽度的时候😷|🌺⭐️,高度也同比例改变🐉🦁|🐄。
200x300
300x450
3.垂直格式化
一个元素的默认高度由其内容决定🦩🦟——🪰。
高度还会受到内容宽度的影响🐺——|🐫🌝。
段落越窄🎄😠-_🥀🥈,相应的就会越高🀄——-🤣🎄,以便容纳其中所有的内联内容🐓——|😉*。
对应于水平格式化🎗*_-😞😐,它也有7个属性🐩🐵|🎭:
margin-top,border-top,padding-top,height,padding-bottom,border-bottom,margin-bottom.
同样这七个值必须等于包含元素块的高🥀🎮|_🤔🥌。
这七个值中只有三个值可以设为auto:height,margin-top,margin-bottom,其他四个必须设为特定的值或默认为0.
当高度小于显示内容的高度*🧩——*:浏览器会处理为有个滚动条(overflow)🐣🐸__😫,以容纳下内联元素👺👺——🌛。
垂直格式化的另一个重要的是合并垂直外边距(重叠垂直外边距)
相邻列表之间的距离是15px,不是25px🐪🐀-——🐗。
因为相邻的外边距沿着垂直方向合并了😅😋_🐽🐼,大边距覆盖小边距🌙🐝_——♣*。

索赔报告的基本格式内容都有哪些索赔函格式索赔报告的基本格式律师解答🐺🦈——🐕⛅️:索赔是承包人在工程施工中🪱_-🐞,因为不是自己过错的原因🦄_——🪁🐺,承担了合同约定之外的义务或者损失🦈🦇_🐭,因而向发包人要求赔偿的行为🦗-🎎🏆。索赔报告是承包人向发包人提出索赔的书面文件🌛-😇,是承包人对索赔事件的明确表示🪴——🐰,是双方协商索赔和调解🐃🏅——-🦊🎖、仲裁🐩——|🐣🌸、裁判的重要文件🐉🪴_👽,索赔报告应该符合情理🍂__🏉,逻辑性强🎈🐹|🐳🦙,结构严谨😫🧿-🌸🦖,有证据说明索赔事件🐹_☘,同时还要根据法律和合同引导出索赔报告要求的结果🍄——🦜🐌,能使工程师😬-_😨🦃、业主正确认识事件🎉——😍,说服调解人🌳-🦝🐈、仲裁员或者法官🐿|-✨🌴。索赔报告最好分为工期索赔和费用索赔两个不同的报告🐺-☄️🐥,不要因一个索赔的否定而影响另外一个同时就得不到发包人的认同🌺——🐈🐒。索赔报告应当充分🌿🐣_|🀄🦉、全面😓|-*、提出重点🐨-_🏉,结构严谨🧿|*😚,层次分明;用语应当流畅🦦😨|🦘🐲,用词准确🎑🐘|🎐、简洁🐣-🦫,争取以理服人🦩😛-🐯🙊,索赔报告的格式🐲|😱😶,因索赔计算方法的不同而有所不同🤡————*,现在以每类索赔事件分别计算的方式来书写索赔报告*🐥|🐅🦊。一🌾💮————*😝、索赔事件概述🐹-|🦅🐳:首先是对事件的一个整体叙述🐼--🌟,对整个事件的时间🧧——-🦆🌵、地点🐷_-🪄🌗、原因😴——🍀🐁、事件背景😵🎍-——🐾😞、合同背景🐌🧧--🎍🌕、过程进行表述🦍*|🦠🌺,承包人作出的努力🦙🙂——🌕,事件造成的结果等概括表述🦐-🃏。使观看文件者对索赔事件有一个完整了解🦇_🐄🌲。二🦖——_😀、每个索赔事项1🏑🐩|🐦、具体事项发生与处理过程🐯🙉-🎣🦈,提出索赔的时间等;2🎯🐉|-🦠😙、证据部分😏--🦘*,该索赔依据的一切相关资料🐌🐭-——🌤🐘,如🌛-🪰🐈:合同条款🐏_——🦖,索赔通知书🤥_🍁、发包人及工程师的通知🎊*|😪、工程记录等🌺😯——🎫🐁。3🙂-🐨、索赔要求和计算🌸-|😳,索赔事项造成的人工费用🎄|——😩、材料费用🦜🌜-*、机械费用🦡🦈-_🌘、管理费用的总和🦡🦠-🐡*。4😴-_🍃🐟、论证😠🦖||🐈👻,以事实为依据🧶😒|🕷,根据合同和法律的规定🦧——_🌲😷,说明要求工期延长🦚🐞|——🐥、费用赔偿的合理性🌼-_🐸,要把事实和证据等方面的材料集中起来😶——☘😈,使之系统化🍃☹️-*‍❄、条理化🤭__🦡,最后写成观点正确🌼-🐄💫、论据充分♣🤤|_*、说理透彻🎈——-🦉🐬、条理清楚🎐🖼_🧿*、层次分明🦃🐲-|🐯😀,具有说服力的论证部分🪴🎰_😹。三🐡__🐝🐍、索赔报告编写人员四😴🌾-🌦🏈、签字盖章五🐀|-🧿、对方签收盖🐇——_🦏🐺。