• 浮动与定位实例中的问题


    一、在A标签内添加图片,解析的时候出现了莫名的距离。

    1. div{
    2. border:1px solid red;
    3. padding:1px;
    4. float:left;
    5. }
    6. <div>
    7. <a><imgsrc="img/pic.jpg"/></a>
    8. </div>
     
         解决办法   
         一、可以选择给父级的div添加一个font-size:0;
         二、给图片的样式添加一个vertical-align:middle;(

    因为图片排列的依据是按照文字的, 可以给图片的属性添加一个 vertical-align:middle;

     
    1. div{
    2. border:1px solid red;
    3. padding:1px;
    4. float:left;
    5. /* font-size:0;*/
    6. }
    7. img{
    8. vertical-align: middle;
    9. }
    10. <div>
    11. <a><imgsrc="img/pic.jpg"/></a>
    12. </div>
               未解决                                                已解决
     

    二、使用浮动问题

        想让元素在同一行显示,就可以用浮动。(当没有给宽的时候,浮动的会把元素宽由上一级父级的宽变成内容的宽)

        浮动给了,一定要给父级清除浮动,因为会有很多意想不到的影响。(除了塌陷)

        用了浮动之后,想调元素之间的距离就用margin

     
     这个div没有给宽,所以它的宽会依照上一级,就是body的宽。
    当div使用了浮动元素后,如果它有子元素它的宽就会由子元素的内容撑开

    三、使用定位问题

          因为定位是脱离文档流的,所以当子级元素使用了定位,父级的高都不再由子级内容所撑开,因此,需要给父级明确的高度。

          对于父级宽度的问题,如果没有给宽度,元素一般都会继承上一级的宽度。

        

          使用绝对定位的时候,都是要给父级一个相对定位,这个父级只需要是最高级的父级(position:relative),作为移动依据,

          而其他的子父级(position-absolute),会依据最高级父级去移动,

         子父级内的元素(position-absolute),会依据子父级去移动,而并不会依据最高父级。

         (即父级永远是子级的相对定位)

          

    1. <!DOCTYPE html>
    2. <html>
    3. <head>
    4. <metacharset="UTF-8">
    5. <title></title>
    6. <style>
    7. #wrap,#listest,#img,{
    8. margin:0;
    9. }
    10. #wrap{
    11. width:1936px;
    12. height:1927px;
    13. background:#1d2088;
    14. position:relative;
    15. span{
    16. margin:0;
    17. padding:0;
    18. }
    19. }
    20. span{
    21. font:bold 47px/47px"宋体";
    22. }
    23. }*/
    24. /*左边*/
    25. #listest{
    26. width:528px;
    27. height:1764px;
    28. background:#920783;
    29. position:absolute;
    30. /* position:relative;*//*这里的元素是上级的子元素,是下级的父元素,它的绝对定位是从它的父级开始,但是它子级的绝对定位是从它开始。所以不用给它设置relative*/
    31. top:100px;/*意思就是,如果父级永远是子级的相对定位。*/
    32. left:36px;
    33. }
    34. #listest span{
    35. /*margin-left:7px;*/
    36. }
    37. #img{
    38. width:428px;
    39. height:1492px;
    40. background:#89c997;
    41. position:absolute;
    42. top:221px;
    43. left:48px;
    44. }
    45. #img span{
    46. position:absolute;
    47. top:239px;
    48. left:176px;
    49. }
    50. /*中间*/
    51. #box{
    52. width:750px;
    53. height:1756px;
    54. background:#00561f;
    55. position:absolute;
    56. top:116px;
    57. left:660px;
    58. }
    59. #box span{
    60. position:absolute;
    61. left:42px;
    62. top:12px;
    63. }
    64. #header{
    65. position:absolute;
    66. width:620px;
    67. height:284px;
    68. background:#00a0e9;
    69. left:88px;
    70. top:68px;
    71. }
    72. #header span{
    73. position:absolute;
    74. top:44px;
    75. left:78px;
    76. }
    77. #nav{
    78. width:660px;
    79. height:612px;
    80. background:#00a0e9;
    81. position:absolute;
    82. top:420px;
    83. left:60px;
    84. }
    85. #nav span{
    86. position:absolute;
    87. top:125px;
    88. left:82px;
    89. }
    90. #footer{
    91. width:680px;
    92. height:668px;
    93. background:#00a0e9;
    94. position:absolute;
    95. top:1076px;
    96. left:48px;
    97. }
    98. #footer span{
    99. position:absolute;
    100. left:37px;
    101. }
    102. #li{
    103. width:560px;
    104. height:193px;
    105. background:#b28850;
    106. position: absolute;
    107. top:60px;
    108. left:72px;
    109. }
    110. #li span{
    111. position:absolute;
    112. top:37px;
    113. left:144;
    114. }
    115. #img1{
    116. width:173px;
    117. height:209px;
    118. background:#b28850;
    119. position:absolute;
    120. top:380px;
    121. left:48px;
    122. }
    123. #img1 span{
    124. position:absolute;
    125. top:50px;
    126. left:69px;
    127. }
    128. #img2{
    129. width:181px;
    130. height:204px;
    131. background:#b28850;
    132. position:absolute;
    133. top:405px;
    134. left:294px;
    135. }
    136. #img2 span{
    137. position:absolute;
    138. top:66px;
    139. left:71px;
    140. }
    141. #img3{
    142. width:131px;
    143. height:184px;
    144. background:#b28850;
    145. position:absolute;
    146. right:0px;
    147. top:425px;
    148. }
    149. #img3 span{
    150. position: absolute;
    151. top:55px;
    152. left:20px;
    153. }
    154. /*右边*/
    155. #lastest{
    156. width:433px;
    157. height:1833px;
    158. background:#fff100;
    159. position:absolute;
    160. top:76px;
    161. right:28px;
    162. }
    163. #lastest span{
    164. position:absolute;
    165. top:-8px;
    166. left:84px;
    167. }
    168. #h2{
    169. width:348px;
    170. height:117px;
    171. background:#a84200;
    172. position:absolute;
    173. top:44px;
    174. right:24px;
    175. }
    176. #h2 span{
    177. position:absolute;
    178. top:29px;
    179. left:53px;
    180. }
    181. #h3{
    182. width:304px;
    183. height:280px;
    184. background:#8c97cb;
    185. position:absolute;
    186. right:51px;
    187. top:278px;
    188. }
    189. #h3-1{
    190. width:192px;
    191. height:88px;
    192. background:red;
    193. position:absolute;
    194. top:28px;
    195. right:52px;
    196. }
    197. #h3-1 span{
    198. position: absolute;
    199. top:22px;
    200. right:43px;
    201. }
    202. #h3-2{
    203. width:208px;
    204. height:96px;
    205. background:red;
    206. position:absolute;
    207. bottom:12px;
    208. right:28px;
    209. }
    210. #h3-2 span{
    211. position:absolute;
    212. top:34px;
    213. left:86px;
    214. }
    215. #h4{
    216. width:325px;
    217. height:300px;
    218. background:#8c97cb;
    219. position:absolute;
    220. top:633px;
    221. right:23px;
    222. }
    223. #h4-1{
    224. width:188px;
    225. height:104px;
    226. background:red;
    227. position: absolute;
    228. top:36px;
    229. right:48px;
    230. }
    231. #h4-1 span{
    232. position: absolute;
    233. top:16px;
    234. right:45px;
    235. }
    236. #h4-2{
    237. width:244px;
    238. height:84px;
    239. background:red;
    240. position:absolute;
    241. bottom:24px;
    242. right:24px;
    243. }
    244. #h4-2 span{
    245. position:absolute;
    246. top:34px;
    247. left:98px;
    248. }
    249. #h5{
    250. width:336px;
    251. height:324px;
    252. background:#8c97cb;
    253. position: absolute;
    254. bottom:493px;
    255. right:20px;
    256. }
    257. #h5-1{
    258. width:204px;
    259. height:96px;
    260. background:red;
    261. position: absolute;
    262. top:36px;
    263. right:56px;
    264. }
    265. #h5-1 span{
    266. position: absolute;
    267. top:12px;
    268. left:82px;
    269. }
    270. #h5-2{
    271. width:236px;
    272. height:112px;
    273. background:red;
    274. position: absolute;
    275. right:40px;
    276. bottom:16px;
    277. }
    278. #h5-2 span{
    279. position: absolute;
    280. top:41px;
    281. left:98px;
    282. }
    283. #end{
    284. width:340px;
    285. height:344px;
    286. background:#a6937c;
    287. position:absolute;
    288. bottom:48px;
    289. right:32px;
    290. }
    291. #end span{
    292. position: absolute;
    293. left:38px;
    294. top:84px;
    295. }
    296. </style>
    297. </head>
    298. <body>
    299. <divid="wrap">wrap
    300. <!--左边-->
    301. <divid="listest"><span>listest</span>
    302. <divid="img"><span>img</span></div>
    303. </div>
    304. <!--中间-->
    305. <divid="box"><span>box</span>
    306. <divid="header"><span>header</span></div>
    307. <divid="nav"><span>nav</span></div>
    308. <divid="footer"><span>footer</span>
    309. <divid="li"><span>li</span></div>
    310. <divid="img1"><span>img</span></div>
    311. <divid="img2"><span>img</span></div>
    312. <divid="img3"><span>img<span></div>
    313. </div>
    314. </div>
    315. <!--右边-->
    316. <divid="lastest"><span>lastest</span>
    317. <divid="h2"><span>h2</span></div>
    318. <divid="h3">
    319. <divid="h3-1"><span>h3</span></div>
    320. <divid="h3-2"><span>p</span></div>
    321. </div>
    322. <divid="h4">
    323. <divid="h4-1"><span>h3</span></div>
    324. <divid="h4-2"><span>p</span></div>
    325. </div>
    326. <divid="h5">
    327. <divid="h5-1"><span>h3</span></div>
    328. <divid="h5-2"><span>p</span></div>
    329. </div>
    330. <divid="end"><span>end</span></div>
    331. </div>
    332. </div>
    333. </body>
    334. </html>
     

     
  • 相关阅读:
    C++类继承内存布局(二)
    C++类继承内存布局(一)
    排序算法
    python 文件路径问题
    python map对象
    python reduce() 函数
    python eval 用法
    PyCharm引入自定义类报错
    Python中的lambda的简单介绍
    python time模块和datetime模块
  • 原文地址:https://www.cnblogs.com/CafeMing/p/6259819.html
Copyright © 2020-2023  润新知