fdlint 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (218) hide show
  1. data/Gemfile +8 -0
  2. data/Gemfile.lock +14 -0
  3. data/README.md +68 -0
  4. data/Rakefile +92 -0
  5. data/bin/fdlint +17 -0
  6. data/lib/base_parser.rb +143 -0
  7. data/lib/cmd_runner.rb +145 -0
  8. data/lib/context.rb +31 -0
  9. data/lib/css/parser.rb +186 -0
  10. data/lib/css/reader.rb +30 -0
  11. data/lib/css/rule/check_compression_rule.rb +48 -0
  12. data/lib/css/rule/checklist.rb +45 -0
  13. data/lib/css/struct.rb +111 -0
  14. data/lib/encoding_error.rb +6 -0
  15. data/lib/file_validator.rb +38 -0
  16. data/lib/helper/code_type.rb +50 -0
  17. data/lib/helper/color_string.rb +44 -0
  18. data/lib/helper/file_reader.rb +22 -0
  19. data/lib/helper/strenc.rb +65 -0
  20. data/lib/html/parser.rb +212 -0
  21. data/lib/html/query.rb +96 -0
  22. data/lib/html/rule/check_tag_rule.rb +80 -0
  23. data/lib/html/struct.rb +291 -0
  24. data/lib/js/expr/expr.rb +66 -0
  25. data/lib/js/expr/left_hand.rb +63 -0
  26. data/lib/js/expr/operate.rb +92 -0
  27. data/lib/js/expr/primary.rb +166 -0
  28. data/lib/js/parser.rb +116 -0
  29. data/lib/js/rule/all.rb +35 -0
  30. data/lib/js/rule/checklist.rb +41 -0
  31. data/lib/js/rule/file_checker.rb +42 -0
  32. data/lib/js/rule/helper.rb +96 -0
  33. data/lib/js/rule/no_global.rb +87 -0
  34. data/lib/js/stat/if.rb +25 -0
  35. data/lib/js/stat/iter.rb +85 -0
  36. data/lib/js/stat/stat.rb +117 -0
  37. data/lib/js/stat/switch.rb +65 -0
  38. data/lib/js/stat/try.rb +28 -0
  39. data/lib/js/stat/var.rb +40 -0
  40. data/lib/js/struct.rb +248 -0
  41. data/lib/log_entry.rb +49 -0
  42. data/lib/node.rb +28 -0
  43. data/lib/parse_error.rb +13 -0
  44. data/lib/parser_visitable.rb +138 -0
  45. data/lib/position_info.rb +46 -0
  46. data/lib/printer/base_printer.rb +24 -0
  47. data/lib/printer/console_printer.rb +66 -0
  48. data/lib/printer/nocolor_printer.rb +27 -0
  49. data/lib/printer/vim_printer.rb +19 -0
  50. data/lib/rule.rb +241 -0
  51. data/lib/rule_helper.rb +14 -0
  52. data/lib/runner.rb +225 -0
  53. data/rules.d/css.rule +127 -0
  54. data/rules.d/html.dtd.rule +22 -0
  55. data/rules.d/html.prop.rule +51 -0
  56. data/rules.d/html.tag.rule +136 -0
  57. data/rules.d/js.file.rule +13 -0
  58. data/rules.d/js.jquery.rule +56 -0
  59. data/rules.d/js.mergefile.rule +71 -0
  60. data/rules.d/js.rule +84 -0
  61. data/test/all_tests.rb +84 -0
  62. data/test/cli/cli_test.rb +70 -0
  63. data/test/cli/log_level_test.rb +51 -0
  64. data/test/cli/output_format_test.rb +47 -0
  65. data/test/cli/type_test.rb +77 -0
  66. data/test/css/mac_line_end_support_test.rb +38 -0
  67. data/test/css/parser_test.rb +276 -0
  68. data/test/css/rule/check_encoding_test.rb +66 -0
  69. data/test/css/rule/check_list_rule_test.rb +167 -0
  70. data/test/css/rule/compression_test.rb +53 -0
  71. data/test/css/rule/file_name_test.rb +76 -0
  72. data/test/fixtures/css/broken.css +4 -0
  73. data/test/fixtures/css/cbu/36.css +52 -0
  74. data/test/fixtures/css/cbu/china_top.css +324 -0
  75. data/test/fixtures/css/cbu/default-merge.css +3 -0
  76. data/test/fixtures/css/cbu/default.css +13 -0
  77. data/test/fixtures/css/cbu/diy-merge.css +25 -0
  78. data/test/fixtures/css/cbu/fns-v1.css +27 -0
  79. data/test/fixtures/css/cbu/index_v0.1.css +12 -0
  80. data/test/fixtures/css/cbu/merge.css +11 -0
  81. data/test/fixtures/css/cbu/min.css +2 -0
  82. data/test/fixtures/css/cbu/my_home_admin.css +126 -0
  83. data/test/fixtures/css/cbu/nav.css +95 -0
  84. data/test/fixtures/css/cbu/pic_list.css +386 -0
  85. data/test/fixtures/css/cbu/quote-edit.css +18 -0
  86. data/test/fixtures/css/cbu/selloffer.shopwindow.css +1 -0
  87. data/test/fixtures/css/cbu/v1.css +9 -0
  88. data/test/fixtures/css/css3.css +30 -0
  89. data/test/fixtures/css/empty-min.css +0 -0
  90. data/test/fixtures/css/empty.css +0 -0
  91. data/test/fixtures/css/font-family.css +4 -0
  92. data/test/fixtures/css/gb-good.css +14 -0
  93. data/test/fixtures/css/gb_using_star.css +4 -0
  94. data/test/fixtures/css/import.css +18 -0
  95. data/test/fixtures/css/mac-line-sep-err-min.css +1 -0
  96. data/test/fixtures/css/mac-line-sep-err.css +1 -0
  97. data/test/fixtures/css/mac-line-sep-good-min.css +1 -0
  98. data/test/fixtures/css/mac-line-sep-good.css +1 -0
  99. data/test/fixtures/css/multi-encoding-in-a-file.css +0 -0
  100. data/test/fixtures/css/simple.css +1 -0
  101. data/test/fixtures/css/using_expr.css +8 -0
  102. data/test/fixtures/css/using_hack.css +21 -0
  103. data/test/fixtures/css/using_id.css +1 -0
  104. data/test/fixtures/css/using_star.css +4 -0
  105. data/test/fixtures/css/utf8_good.css +6 -0
  106. data/test/fixtures/css/utf8_good_declaring_charset.css +7 -0
  107. data/test/fixtures/css/utf8_using_star.css +5 -0
  108. data/test/fixtures/html/1-1.html +120 -0
  109. data/test/fixtures/html/1-2.html +120 -0
  110. data/test/fixtures/html/cms.html +373 -0
  111. data/test/fixtures/html/css_out_of_head.html +9 -0
  112. data/test/fixtures/html/fdev-template.html +22 -0
  113. data/test/fixtures/html/google.com.html +33 -0
  114. data/test/fixtures/html/mixed_log_levels.html +4 -0
  115. data/test/fixtures/html/mixed_types.html +13 -0
  116. data/test/fixtures/html/no_dtd.html +6 -0
  117. data/test/fixtures/html/readme.html +94 -0
  118. data/test/fixtures/html/review.board.html +163 -0
  119. data/test/fixtures/html/syntax_err.html +3 -0
  120. data/test/fixtures/html/train/detail/345/233/276/346/226/207/347/273/223/345/220/210.html +208 -0
  121. data/test/fixtures/html/train/detail/347/232/204Flash.html +212 -0
  122. data/test/fixtures/html/train/detail/347/232/204Vedio.html +212 -0
  123. data/test/fixtures/html/train/index.html +37 -0
  124. data/test/fixtures/html/train/test.html +1 -0
  125. data/test/fixtures/html/train//344/277/256/346/224/271/344/270/200/347/272/247/345/210/206/347/261/273.html +112 -0
  126. data/test/fixtures/html/train//344/277/256/346/224/271/345/255/220/345/210/206/347/261/273.html +108 -0
  127. data/test/fixtures/html/train//344/277/256/346/224/271/350/257/276/347/250/213.html +195 -0
  128. data/test/fixtures/html/train//345/215/232/345/256/242/350/256/276/347/275/256.html +142 -0
  129. data/test/fixtures/html/train//346/265/217/350/247/210/350/256/260/345/275/225.html +191 -0
  130. data/test/fixtures/html/train//346/267/273/345/212/240/344/270/200/347/272/247/345/210/206/347/261/273.html +113 -0
  131. data/test/fixtures/html/train//346/267/273/345/212/240/345/255/220/345/210/206/347/261/273.html +112 -0
  132. data/test/fixtures/html/train//346/267/273/345/212/240/350/257/276/347/250/213.html +195 -0
  133. data/test/fixtures/html/train//347/231/273/345/275/225.html +20 -0
  134. data/test/fixtures/html/train//347/256/241/347/220/206/345/210/206/347/261/273.html +210 -0
  135. data/test/fixtures/html/train//347/256/241/347/220/206/345/217/215/351/246/210.html +222 -0
  136. data/test/fixtures/html/train//347/256/241/347/220/206/350/257/276/347/250/213.html +284 -0
  137. data/test/fixtures/html/train//347/256/241/347/220/206/350/264/246/346/210/267.html +107 -0
  138. data/test/fixtures/html/train//347/275/221/344/270/212/345/237/271/350/256/255home/351/241/265.html +354 -0
  139. data/test/fixtures/html/train//347/275/221/345/225/206/345/237/271/350/256/255list/351/241/265.html +255 -0
  140. data/test/fixtures/html/train//350/256/276/347/275/256/351/246/226/351/241/265/346/216/250/350/215/220.html +168 -0
  141. data/test/fixtures/html/train//350/257/264/346/230/216.txt +3 -0
  142. data/test/fixtures/html/train//351/246/226/351/241/265/345/271/277/345/221/212/350/256/276/347/275/256.html +297 -0
  143. data/test/fixtures/html/unescaped.html +2 -0
  144. data/test/fixtures/html/view.vm +916 -0
  145. data/test/fixtures/js/jquery-1.7.js +9300 -0
  146. data/test/fixtures/js/scope-test.js +22 -0
  147. data/test/helper.rb +41 -0
  148. data/test/html/mixed_type_test.rb +35 -0
  149. data/test/html/parser/parse_comment_test.rb +47 -0
  150. data/test/html/parser/parse_dtd_test.rb +46 -0
  151. data/test/html/parser/parse_script_tag_test.rb +55 -0
  152. data/test/html/parser/parse_with_auto_close_tag_test.rb +41 -0
  153. data/test/html/parser/parse_with_diff_case_test.rb +38 -0
  154. data/test/html/parser/parse_with_emtpy_test.rb +22 -0
  155. data/test/html/parser/parse_with_multi_children_test.rb +27 -0
  156. data/test/html/parser/parse_with_multi_line_test.rb +41 -0
  157. data/test/html/parser/parse_with_prop_test.rb +88 -0
  158. data/test/html/parser/parse_with_script_tag_test.rb +26 -0
  159. data/test/html/parser/parse_with_selfclosing_test.rb +39 -0
  160. data/test/html/parser/parse_with_simple_tag_test.rb +44 -0
  161. data/test/html/parser/parse_with_simple_tree_test.rb +40 -0
  162. data/test/html/parser/parse_with_style_tag_test.rb +22 -0
  163. data/test/html/parser/parse_with_text_test.rb +45 -0
  164. data/test/html/parser_test.rb +52 -0
  165. data/test/html/query_test.rb +52 -0
  166. data/test/html/rule/check_block_level_element_test.rb +52 -0
  167. data/test/html/rule/check_button_test.rb +45 -0
  168. data/test/html/rule/check_class_count_test.rb +36 -0
  169. data/test/html/rule/check_css_in_head_test.rb +53 -0
  170. data/test/html/rule/check_dtd_test.rb +46 -0
  171. data/test/html/rule/check_form_element_name_test.rb +49 -0
  172. data/test/html/rule/check_head_contain_meta_and_title_test.rb +52 -0
  173. data/test/html/rule/check_html_template_test.rb +103 -0
  174. data/test/html/rule/check_hyperlink_with_target_test.rb +40 -0
  175. data/test/html/rule/check_hyperlink_with_title_test.rb +43 -0
  176. data/test/html/rule/check_id_n_class_downcase_test.rb +40 -0
  177. data/test/html/rule/check_img_with_alt_prop_test.rb +33 -0
  178. data/test/html/rule/check_no_import_css_test.rb +36 -0
  179. data/test/html/rule/check_prop_have_value_test.rb +32 -0
  180. data/test/html/rule/check_prop_seperator_test.rb +32 -0
  181. data/test/html/rule/check_style_prop_test.rb +30 -0
  182. data/test/html/rule/check_tag_closed_test.rb +59 -0
  183. data/test/html/rule/check_tag_downcase_test.rb +51 -0
  184. data/test/html/rule/check_unescape_char_test.rb +35 -0
  185. data/test/html/rule/check_unique_import_test.rb +56 -0
  186. data/test/html/rule_test.rb +62 -0
  187. data/test/js/expr/expr.rb +57 -0
  188. data/test/js/expr/left_hand.rb +25 -0
  189. data/test/js/expr/operate.rb +145 -0
  190. data/test/js/expr/primary.rb +89 -0
  191. data/test/js/parser_test.rb +98 -0
  192. data/test/js/rule/alert_check_test.rb +37 -0
  193. data/test/js/rule/all_test.rb +23 -0
  194. data/test/js/rule/base_test.rb +34 -0
  195. data/test/js/rule/file_checker_test.rb +131 -0
  196. data/test/js/rule/jq_check_test.rb +90 -0
  197. data/test/js/rule/nest_try_catch_test.rb +71 -0
  198. data/test/js/rule/new_object_and_new_array_test.rb +38 -0
  199. data/test/js/rule/no_eval_test.rb +34 -0
  200. data/test/js/rule/no_global_test.rb +88 -0
  201. data/test/js/rule/private_method_check_test.rb +58 -0
  202. data/test/js/rule/semicolon_test.rb +63 -0
  203. data/test/js/rule/stat_if_with_brace_test.rb +68 -0
  204. data/test/js/rule/stat_if_with_muti_else_test.rb +68 -0
  205. data/test/js/rule/use_strict_equal_test.rb +44 -0
  206. data/test/js/rule_test.rb +47 -0
  207. data/test/js/stat/if.rb +26 -0
  208. data/test/js/stat/iter.rb +115 -0
  209. data/test/js/stat/stat.rb +91 -0
  210. data/test/js/stat/switch.rb +37 -0
  211. data/test/js/stat/try.rb +32 -0
  212. data/test/js/stat/var.rb +38 -0
  213. data/test/parser_visitable_test.rb +102 -0
  214. data/test/position_info_test.rb +66 -0
  215. data/test/rule_dsl/dsl_basic_test.rb +91 -0
  216. data/test/rule_dsl/importing_test.rb +48 -0
  217. data/test/runner/log_level_test.rb +58 -0
  218. metadata +317 -0
@@ -0,0 +1,95 @@
1
+ /* global */
2
+ body {margin:0px;border:0px;font-size:12px;font-family:����;background-color:#fff;}
3
+ form {margin:0px;padding:0px;}
4
+ input {height:25px; margin:0px ; padding:0px;font-size:12px;}
5
+ ul {list-style: none;margin: 0px;padding: 0px;}
6
+ img {border:0px;}
7
+ a:link{color: #001D4C;text-decoration: none;}
8
+ a:visited{color: #001D4C;text-decoration: none;}
9
+ a:hover{color: #FF6600;text-decoration: underline;}
10
+ .redtext a {color:#ff7300;}
11
+ .redtext a:link{color:#ff7300;}
12
+ .redtext a:visited{color:#ff7300;}
13
+ .redtext a:hover{color:#ff7300;}
14
+
15
+ /* layout */
16
+ #top_nav_bg {width:100%;height:26px;background-color:#f4f3f2;border-bottom:1px solid #cdcdcd;font-size:12px}
17
+ #top_nav {clear:both;height:26px;padding-top:3px !important;padding-top:0px;vertical-align:middle;}
18
+ #top_nav ul {margin:7px 0px 7px 0px;}
19
+ #top_nav li {padding:0px 7px;border-left:1px solid #AFA69E;}
20
+ #top_nav .first{padding:0px 7px 0px 0px;border-left:1px solid #AFA69E;}
21
+ #top_nav .last{padding:0px 0px 0px 7px;border-left:1px solid #AFA69E;}
22
+ #top_nav li a{text-decoration: none;}
23
+ #top_nav .left {float:left;}
24
+ #top_nav .right {float:right;}
25
+ #top_nav .no_border {border:0px;}
26
+ #top_nav .img_bt {margin:-8px -5px -3px -5px !important;margin:-4px -5px -3px -5px;}
27
+ #main_nav {width:778px;clear:both;margin-top:7px;}
28
+ #main_nav .icon {float:right;margin-right:10px;margin-top:5px;}
29
+ #main_nav li {font-size:14px;vertical-align:middle;}
30
+ #main_nav li a {text-decoration: none;}
31
+ #main_nav .more {float:right;font-weight:normal;padding:5px 0px 0px 12px;background:url(http://img.china.alibaba.com/images/cn/home/070215/main_nav_arrow.gif) 0px 5px no-repeat;}
32
+ #main_nav .left {float:left;}
33
+ #main_nav .right {float:right;font-weight:bold;padding:5px 13px 0px 12px;background:url(http://img.china.alibaba.com/images/cn/home/070215/home_left_menu_flog.gif) 0px 7px no-repeat;}
34
+ #main_nav .after_site {float:right;padding:5px 8px 0px 12px;}
35
+
36
+ /*#c_fship{width:85px;margin-left:-3px;}
37
+ #c_fship a{width:83px;padding:3px 0px 20px 4px;}
38
+ #c_fship .alk{background:url(http://img.china.alibaba.com/images/cn/home/070215/c_index_nav_club_arrow_a.gif) no-repeat 67px 3px;padding-right:20px;}
39
+ #c_fship .ahv{>background:url(http://img.china.alibaba.com/images/cn/home/070215/c_index_nav_club_arrow_up.gif) no-repeat 0px 1px !important;background:url(http://img.china.alibaba.com/images/cn/home/070215/c_index_nav_club_arrow_up.gif) no-repeat 0px 0px;padding-right:20px;} */
40
+
41
+ #c_fship{important; width:85px;margin-left:-3px;}
42
+ #c_fship a{width:83px;padding:0px 0px 20px 4px;}
43
+ #c_fship .alk{background:url(http://img.china.alibaba.com/images/cn/home/070215/c_index_nav_club_arrow_a.gif) no-repeat 67px 0px;padding-right:18px;}
44
+ #c_fship .ahv{>background:url(http://img.china.alibaba.com/images/cn/home/070215/c_index_nav_club_arrow_up.gif) no-repeat 0px 1px !important;background:url(http://img.china.alibaba.com/images/cn/home/070215/c_index_nav_club_arrow_up.gif) no-repeat -1px -3px;padding-right:18px;}
45
+ #float_menu{text-align:left}
46
+ #float_menu ul.cship_list li{display:block;margin:0px;float:left;width:83px;}
47
+ #float_menu ul.cship_list li.top_border{border-top:1px solid #C2BBB5;margin-top:0px;}
48
+ #float_menu ul.cship_list li a{display:block;cursor:pointer;background-color:#fff;font-weight:normal;font-size:12px;padding:4px 20px 3px 10px;width:53px!important;width:83px;}
49
+ #float_menu ul.cship_list li a:hover{display:block;cursor:pointer;background-color:#FFEFD5;font-weight:normal;font-size:12px;}
50
+
51
+ .main_box {width:750px;margin:7px auto;margin:0px auto;}
52
+ .main_box_free {width:98%;margin:7px auto;margin:0px auto;}
53
+ .clr{clear:both;}
54
+
55
+ #main_nav_index {clear:both;margin-top:7px;}
56
+ #main_nav_index .icon {float:right;margin-right:10px;margin-top:5px;}
57
+ #main_nav_index li {font-size:14px;vertical-align:middle;}
58
+ #main_nav_index li a {text-decoration: none;}
59
+ #main_nav_index .more {float:right;font-weight:normal;padding:5px 0px 0px 12px;background:url(http://img.china.alibaba.com/images/cn/home/070215/main_nav_arrow.gif) 0px 5px no-repeat;}
60
+ #main_nav_index .left {float:left;}
61
+ #main_nav_index .right {float:right;font-weight:bold;padding:5px 13px 0px 12px;background:url(http://img.china.alibaba.com/images/cn/home/070215/home_left_menu_flog.gif) 0px 7px no-repeat;}
62
+ #main_nav_index .after_site {float:right;padding:5px 8px 0px 12px;}
63
+
64
+
65
+ #main_nav .left {float:left;font-size:12px}
66
+ #main_nav .left a:hover{color:#ff7300}
67
+ #main_nav .right {float:right;background:url()}
68
+ #main_nav .right .noritem{float:left;font-size:12px;font-weight:bold;padding:1px 13px 1px 14px;background:url(http://img.china.alibaba.com/images/cn/community/0703161/top_arrow_normal.gif) 0px 0px no-repeat;}
69
+ #main_nav .right .actitem{float:left;font-size:12px;font-weight:bold;padding:1px 13px 1px 14px;background:url(http://img.china.alibaba.com/images/cn/community/0703161/top_arrow_active.gif) 0px 0px no-repeat;}
70
+ #main_nav .right a{color:#333}
71
+
72
+ .logofz,.logofz a:link,.logofz a:hover,.logofz a:visited{font-size:11px;font-family:arial;word-spacing: 10px;color:#ff6600;}
73
+ .logoali a:link,.logoali a:hover,.logoali a:visited{color:#808080;}
74
+
75
+
76
+ #main_nav_free {width:100%;clear:both;margin-top:7px;}
77
+ #main_nav_free .icon {float:right;margin-right:10px;margin-top:5px;}
78
+ #main_nav_free li {font-size:14px;vertical-align:middle;}
79
+ #main_nav_free li a {text-decoration: none;}
80
+ #main_nav_free .more {float:right;font-weight:normal;padding:5px 0px 0px 12px;background:url(http://img.china.alibaba.com/images/cn/home/070215/main_nav_arrow.gif) 0px 5px no-repeat;}
81
+ #main_nav_free .left2 {padding-left:15px;}
82
+ #main_nav_free .after_site {float:right;padding:5px 8px 0px 12px;}
83
+ #main_nav_free .left {float:left;font-size:12px}
84
+ #main_nav_free .left a:hover{color:#ff7300}
85
+
86
+ .inforDiv {font-size:12px;padding-top:5px;color:#999999;text-align:left}
87
+ .inforDiv a:link,.inforDiv a:visited,.inforDiv a:hover{font-size:12px; color:#F36815;text-decoration: underline}
88
+
89
+
90
+
91
+
92
+
93
+
94
+
95
+
@@ -0,0 +1,386 @@
1
+
2
+ /****tag optimization start****/
3
+ body{background-color:#fff;color:#000;line-height:16px}
4
+ body,td{margin:0px;font-family:����}
5
+ body,td,select,input,textarea{font-size:12px}
6
+ dl,ul{list-style:none}
7
+ form,dl,ul,dl dd,ul li{margin:0px;padding:0px}
8
+ img{border:0px}
9
+ h1,h2,h3{font-size:14px;margin:0px}
10
+ p{margin:0px;padding-top:7px;line-height:18px;word-wrap:break-word;overflow:hidden}
11
+ /****tag optimization end****/
12
+
13
+ /****link start****/
14
+ .white{color:#fff}
15
+ .black{color:#000}
16
+ .gray{color:#666}
17
+ .orange{color:#ff7300}
18
+
19
+
20
+ a:link,a:visited{color:#003278;text-decoration:none}
21
+ .white a:link,.white a:visited{color:#fff}
22
+ .black a:link,.black a:visited{color:#000}
23
+ .gray a:link,.gray a:visited{color:#666}
24
+ .orange a:link,.orange a:visited{color:#ff7300}
25
+ a:hover,.white a:hover,.black a:hover,.gray a:hover,.orange a:hover{color:#ff7300;text-decoration:underline}
26
+
27
+ .lk_l a{text-decoration:underline !important}
28
+ /* LinK _ text-decoration:underLine */
29
+ .lk_n a{text-decoration:none !important}
30
+ /* LinK _ text-decoration:None */
31
+ /****link end****/
32
+
33
+ /****for testing start****/
34
+ .bd{border:1px solid #f00}
35
+ /* BorDer */
36
+ .bg{background:#f00}
37
+ /* BackGround */
38
+ ul.lb li{border:1px solid #f00}
39
+ /* ul Li Border */
40
+ /****for testing end****/
41
+
42
+ /****common start****/
43
+ .clr{clear:both}
44
+ .cl{clear:both;overflow:hidden;+display:inline;}
45
+ .c{clear:both;overflow:hidden;+overflow:visible;}
46
+ /* Clear:both */
47
+ .l{float:left !important;display:inline}
48
+ /* float Left */
49
+ .r{float:right !important;display:inline}
50
+ /* float Right */
51
+ .f{width:100%}
52
+ /* Fullwidth */
53
+ .z{zoom:1}
54
+ /* Zoom:1 */
55
+ .h{width:50%;+width:49.99%;overflow:hidden}
56
+ /* Halfwidth */
57
+ .t{width:33.333%;+width:33.2%;overflow:hidden}
58
+ /* Third - one of three */
59
+ .b{font-weight:bold}
60
+ /* Bold */
61
+ .f12{font-size:12px}
62
+ /* Font-size:12px */
63
+ .f14{font-size:14px}
64
+ /* Font-size:14px */
65
+ .f16{font-size:16px}
66
+ /* Font-size:16px */
67
+
68
+ .pa{position:absolute}
69
+ /* Position:Absolute */
70
+ .pr{position:relative}
71
+ /* Position:Relative */
72
+ .db{display:block}
73
+ /* Display:Block */
74
+
75
+ .dib{display:-moz-inline-box;-moz-box-align:stretch;+display:inline-block}
76
+ .dib{+display:inline}
77
+ @media all and (min-width: 0px){ .dib{display:inline-block} }
78
+ /* Display:Inline-Block */
79
+
80
+ .vh{visibility:hidden}
81
+ /* Visibility:Hidden */
82
+ .dn{display:none !important}
83
+ /* Display:None */
84
+ .in{float:left;display:inline;margin-left:4px;margin-top:4px;width:16px;height:10px;overflow:hidden;
85
+ background:url(http://img.china.alibaba.com/images/cn/home/070214/new_l.gif) no-repeat}
86
+ /* Icon New */
87
+ .ih{float:left;display:inline;margin-left:4px;margin-top:4px;width:16px;height:10px;overflow:hidden;
88
+ background:url(http://img.china.alibaba.com/images/cn/home/070214/hot_l.gif) no-repeat}
89
+ /* Icon Hot */
90
+ .ia{background:url(http://img.china.alibaba.com/images/cn/home/070215/right_org_arrow.gif) 5px center no-repeat;padding-left:14px;padding-right:7px}
91
+ /* Icon Arrow */
92
+ .oh{overflow:hidden}
93
+ /* Overflow:Hidden */
94
+ .tc{text-align:center}
95
+ /* Text-align:Center */
96
+ .tr{text-align:right}
97
+ /* Text-align:Right */
98
+ .bn{border:none !important}
99
+ /* Border:None */
100
+
101
+ .b_1{border:1px solid #B8B8B8}
102
+ /* Border type_ [1] */
103
+ .bt_1{border-top:1px solid #ff7300}
104
+ /* Border-Top type_ [1] */
105
+ .bt_2{border-top:1px dashed #CCC}
106
+ /* Border-Top type_ [2] */
107
+ .bt_3{border-top:1px dashed #FFB980}
108
+ /* Border-Top type_ [3] */
109
+ .bl_1{border-left:1px dashed #CCC}
110
+ /* Border-Left type_ [1] */
111
+ .bg_1{background-color:#FFF1E6}
112
+ /* Background type_ [1] */
113
+ .bg_2{background-color:#F0F0F0}
114
+ /* Background type_ [2] */
115
+ .bg_3{background-color:#9ACD68}
116
+ /* Background type_ [3] */
117
+
118
+ .o_1{opacity:.7;filter:alpha(opacity=70)}
119
+ /* Opacity type_ [1] */
120
+
121
+ .l25{line-height:25px}
122
+ /* Line-height [25]px */
123
+ .l23{line-height:23px}
124
+ /* Line-height [23]px */
125
+ .l20{line-height:20px}
126
+ /* Line-height [20]px */
127
+ .l17{line-height:17px}
128
+ /* Line-height [17]px */
129
+ .ti{text-indent:28px}
130
+ /* Text-Indent [28]px */
131
+
132
+
133
+ .nw{word-break:keep-all;white-space:nowrap;overflow:hidden}
134
+ /* No Wrap */
135
+ .bw{word-wrap:break-word;overflow:hidden}
136
+ /* Break Word */
137
+ /****common end****/
138
+
139
+ /****layout start****/
140
+ .ma{margin-left:auto;margin-right:auto}
141
+ /* MArgin auto */
142
+ .w778{width:778px;margin-left:auto;margin-right:auto}
143
+ /* Width [778]px */
144
+ .w952{width:952px;margin-left:auto;margin-right:auto}
145
+ /* Width [952]px */
146
+ .layer{width:960px;padding:0px 0px 0px 8px;margin-left:auto;margin-right:auto;margin-top:8px}
147
+ .tube{float:left;_display:inline;margin-right:8px;}
148
+ .block{margin-bottom:8px;zoom:1}
149
+ /****layout end****/
150
+
151
+ /****for ul list start****/
152
+ ul.lzb,ul.lzl,ul.ll23,ul.ll20,ul.ll,ul.lr{zoom:1}
153
+ ul.lzb li{zoom:1;+margin-bottom:-4px}
154
+ /* ul Li Zoom:1 margin-Bottom:-4px */
155
+ ul.lzl li{zoom:1;+margin-left:-16px}
156
+ /* ul Li Zoom:1 margin-Left:-16px */
157
+ ul.ll20 li{line-height:20px;height:20px;+margin-bottom:-4px}
158
+ /* ul Li Line height [20]px */
159
+ ul.ll23 li{line-height:23px;height:23px;+margin-bottom:-4px}
160
+ /* ul Li Line height [23]px */
161
+ ul.ll25 li{line-height:25px;height:25px;+margin-bottom:-4px}
162
+ /* ul Li Line height [23]px */
163
+ ul.li20 li{background:url(http://img.china.alibaba.com/images/cn/home/070215/d_ico.gif) 5px 7px no-repeat;
164
+ padding-left:15px}
165
+ /* ul Li Icon for height [20]px */
166
+ ul.li23 li{background:url(http://img.china.alibaba.com/images/cn/home/070215/d_ico.gif) 5px 10px no-repeat;
167
+ padding-left:15px}
168
+ /* ul Li Icon for height [23]px */
169
+ ul.li25 li{background:url(http://img.china.alibaba.com/images/cn/home/070215/d_ico.gif) 5px 12px no-repeat;
170
+ padding-left:15px}
171
+ /* ul Li Icon for height [25]px */
172
+ ul.ll li{float:left;display:inline}
173
+ /* ul Li float Left */
174
+ ul.lr li{float:right;display:inline}
175
+ /* ul Li float Right */
176
+ ul.ldl li{display:inline}
177
+ /* ul Li Display:inLine */
178
+ ul.lbt li{border-top:1px dashed #CCC}
179
+ /* ul Li Border-Top */
180
+ ul.lbl li{border-left:1px solid #000;padding:0px 9px}
181
+ /* ul Li Border-Left */
182
+
183
+ /****for ul list end****/
184
+
185
+ /****for margin control start****/
186
+ .h1p{+height:1%}
187
+ /* Height [1]Percent using for bug repairing */
188
+ .h1{height:1px;overflow:hidden}
189
+ /* Height [1]px using for space filling with margin-top */
190
+ .h16{height:16px}
191
+ /* Height [16]px using for space filling with margin-top */
192
+ .h17{height:17px}
193
+ /* Height [17]px using for space filling with margin-top */
194
+ .h23{height:23px}
195
+ /* Height [23]px using for space filling with margin-top */
196
+
197
+ .m1{margin:1px}
198
+ /* Margin [1]px */
199
+ .m7{margin:7px;margin-bottom:0px}
200
+ /* Margin [7]px */
201
+ .m14{margin:14px;margin-bottom:0px}
202
+ /* Margin [14]px */
203
+ .ml3{margin-left:3px}
204
+ /* Margin-Left [3]px */
205
+ .ml5{margin-left:5px}
206
+ /* Margin-Left [5]px */
207
+ .ml7{margin-left:7px}
208
+ /* Margin-Left [7]px */
209
+ .ml9{margin-left:9px}
210
+ /* ... */
211
+ .ml14{margin-left:14px}
212
+ .ml21{margin-left:21px}
213
+ .mr3{margin-right:3px}
214
+ .mr5{margin-right:5px}
215
+ .mr7{margin-right:7px}
216
+ .mr9{margin-right:9px}
217
+ .mr14{margin-right:14px}
218
+ .mr21{margin-right:21px}
219
+ .mt1{margin-top:1px}
220
+ .mt3{margin-top:3px}
221
+ .mt5{margin-top:5px}
222
+ .mt7{margin-top:7px}
223
+ .mt9{margin-top:9px}
224
+ .mt11{margin-top:11px}
225
+ .mt14{margin-top:14px}
226
+ .mt21{margin-top:21px}
227
+ .mt28{margin-top:28px}
228
+ /* ... */
229
+ .p7{padding:7px}
230
+ /* Padding [7]px */
231
+ .pl7{padding-left:7px}
232
+ /* Padding-Left [7]px */
233
+ .pr7{padding-right:7px}
234
+ /* Padding-Right [7]px */
235
+ .pt7{padding-top:7px}
236
+ /* Padding-Top [7]px */
237
+ .pt9{padding-top:9px}
238
+ /* Padding-Top [9]px */
239
+ .pt11{padding-top:11px}
240
+ /* Padding-Top [11]px */
241
+ .p14{padding:14px}
242
+ /* Padding [14]px */
243
+ .pt14{padding-top:14px}
244
+ /* Padding-Top [14]px */
245
+ .pl14{padding-left:14px}
246
+ /* Padding-Left [14]px */
247
+ .pr14{padding-right:14px}
248
+ /* Padding-Right [14]px */
249
+ /****for margin control end****/
250
+
251
+
252
+
253
+
254
+ body{line-height:normal}
255
+ .w952{background:#E3E3E3}
256
+ .mg{margin-left:auto;margin-right:auto;}
257
+ .m14{margin:14px;}
258
+ .white{color:#fff}
259
+ .white a:link, .white a:visited{color:#fff}
260
+ .white a:hover{color:#ff7300;text-decoration:none;}
261
+ ul.lbl_1 li{border-left:1px solid #000}
262
+ ul.ll,ul.lr {zoom:normal !important}
263
+ .clr{clear:both}
264
+ .bt_1{border-top:1px solid #B8B8B8}
265
+ .left{float:left;}
266
+ .right{float:right;}
267
+ .s{font-size:12px}
268
+ .m{font-size:14px}
269
+ .g{font-size:16px}
270
+ .ds_b{display:block}
271
+ .ds_n{display:none !important}
272
+ .picRotate {position:relative;border:1px solid #B8B8B8;background:#fff;line-height:17px;}
273
+ /* pic container start */
274
+ .ttsty_b{display:block;padding-bottom:9px;text-align:center;font-size:14px;font-weight:bold}
275
+ .ttsty_b img {display:block;border:1px solid #ccc;margin:7px 7px 14px 7px;}
276
+
277
+ .ttsty_a{display:block;padding-bottom:5px;text-align:center;font-size:12px;}
278
+ .ttsty_a img {display:block;border:1px solid #ccc;margin:7px 7px 5px 7px;}
279
+ /* pic container end */
280
+ /* switch pic button part start */
281
+ ul.lileft li{float:left;display:inline}
282
+ .slpic{position:absolute;right:8px;bottom:40px;z-index:3;}
283
+ .slpic .po_a{position:absolute}
284
+ .slpic li{position:relative;width:24px;height:15px;height:16px;text-align:center;cursor:pointer;}
285
+ .slpic li.sp{width:1px;overflow:hidden;color:#fff;background:#fff;filter:alpha(opacity:60);-moz-opacity:.6;opacity:.6}
286
+ .slpic li .op{height:100%;background:#000;filter:alpha(opacity:60);-moz-opacity:.6;opacity:.6}
287
+ .slpic li .po_a{width:24px;color:#fff;font-weight:normal;left:0px;top:0px;text-align:center;padding-top:1px;+padding-top:2px;}
288
+ .slpic li.hov .op{background:#f00;filter:alpha(opacity:80);-moz-opacity:.8;opacity:.8}
289
+ .slpic li.hov .po_a{color:#fff;font-weight:bold;}
290
+ /* switch pic button part end */
291
+ .dbico div{width:8px;height:8px;border:1px solid #E3E3E3}
292
+ .dbico span{display:block;margin:-6px 0px 0px 3px;width:8px;height:8px;border:1px solid #E3E3E3}
293
+
294
+ .tgb{width:3px;height:10px;margin:0px;margin-left:3px;background:#FF8002}
295
+ .line{background:#fff}
296
+ ul.lpic li{border:1px solid #B8B8B8;background:#fff;line-height:17px;margin:7px 11px 7px 0px;}
297
+ ul.lpic li.pictt{float:left;width:16px;padding:10px 4px 20px 7px;font-size:14px;font-weight:bold;border:none;background:#E3E3E3 url(http://img.china.alibaba.com/images/info/1/mag_tline_t.gif) bottom left no-repeat;line-height:23px;margin:0px;}
298
+ .tline_b{background:url(http://img.china.alibaba.com/images/info/1/mag_tline_b.gif) repeat-y}
299
+
300
+ .ttsty{height:29px;background:url(http://img.china.alibaba.com/images/info/1/mag_tt_02.gif);border-bottom:1px solid #CBCBCB}
301
+ .ttsty_lt {height:23px;padding-top:6px;width:104px;padding-left:17px;color:#fff;font-size:16px;font-family:����;background:#029C27 url(http://img.china.alibaba.com/images/info/1/mag_tarr_02.gif) right no-repeat}
302
+ .ttsty_tt {line-height:23px;padding-top:6px;padding-left:50px;font-size:12px;}
303
+ .ttsty_rt {height:100%;width:2px;background:url(http://img.china.alibaba.com/images/info/1/mag_rt_02.gif)}
304
+
305
+ .tlsty{height:15px;background:url(http://img.china.alibaba.com/images/info/1/mag_bg_01.gif) repeat-x}
306
+ .tlsty_lt {background:#E3E3E3}
307
+ .tlsty_tt {background:#E3E3E3;padding-left:5px;font-size:14px;font-weight:bold;}
308
+ .tlsty_rt {background:#E3E3E3;padding-top:2px;}
309
+
310
+ .tisty{height:22px;border:1px solid #B7B7B7;background:url(http://img.china.alibaba.com/images/info/1/mag_bg_02.gif)}
311
+ .tisty_lt{width:3px;height:100%;background:#FF8316}
312
+ .tisty_tt{height:auto;margin-left:10px;margin-top:4px;font-size:14px;font-weight:bold;background:none}
313
+ .tisty_rt{width:auto;height:auto;margin-right:7px;margin-top:6px;font-size:12px;background:none}
314
+
315
+ #hd_lay_02 .ttsty_lt{background:#029C27 url(http://img.china.alibaba.com/images/info/1/mag_tarr_02.gif) right no-repeat}
316
+ #hd_lay_03 .ttsty_lt{background:#983202 url(http://img.china.alibaba.com/images/info/1/mag_tarr_03.gif) right no-repeat}
317
+ #hd_lay_04 .ttsty_lt{background:#F88300 url(http://img.china.alibaba.com/images/info/1/mag_tarr_04.gif) right no-repeat}
318
+ #hd_lay_05 .ttsty_lt{background:#027693 url(http://img.china.alibaba.com/images/info/1/mag_tarr_05.gif) right no-repeat}
319
+ #hd_lay_06 .ttsty_lt{background:#9C0277 url(http://img.china.alibaba.com/images/info/1/mag_tarr_06.gif) right no-repeat}
320
+ #hd_lay_07 .ttsty_lt{background:#026097 url(http://img.china.alibaba.com/images/info/1/mag_tarr_07.gif) right no-repeat}
321
+
322
+ #navigation {height:34px;background:url(http://img.china.alibaba.com/images/info/1/mag_tt_01.gif);}
323
+ #navigation .nav_lt {height:100%;width:2px;background:url(http://img.china.alibaba.com/images/info/1/mag_lt_01.gif)}
324
+ #navigation .nav_rt {height:100%;width:2px;background:url(http://img.china.alibaba.com/images/info/1/mag_rt_01.gif)}
325
+ #navigation ul{margin-left:150px;}
326
+ #navigation ul li {line-height:18px;margin:10px 0px 0px 0px;padding:0px 22px;border-right:2px solid #fff;}
327
+ #navigation ul li.hov {height:24px;padding-top:4px;color:#000;background:#fff;margin-top:6px;margin-left:-2px;border-right:none;}
328
+ #navigation ul li.hov a{color:#000;}
329
+ #navigation_sub{width:950px;height:26px;border:1px solid #CCC;border-top:none;background:#fff;font-size:14px;}
330
+ #navigation_sub ul{margin-left:270px}
331
+ #navigation_sub ul li{padding:0px 19px 0px 19px;border-left:1px solid #000}
332
+
333
+ #hd_lay_lf_01 {width:688px;margin:6px 0px 0px 10px}
334
+ #hd_lay_lf_01 ul.lpic li{margin:0px 4px 5px 16px;}
335
+ #hd_lay_rg_01 {width:240px;}
336
+ #hd_lay_rg_01 .lzb img{margin:5px 7px 0px 7px;}
337
+
338
+ #hd_lay_lf_02{width:727px;border-top:1px solid #fff;border-right:1px solid #fff}
339
+ #hd_lay_lf_02 .tgb{background:#018C29}
340
+ #hd_lay_lf_02 ul.lpic li{float:left;margin:8px 8px 8px 10px;}
341
+ #hd_lay_rg_02{width:208px;border-top:1px solid #fff}
342
+ #hd_lay_rg_02 .tlsty_lt .bg{background:#018C29}
343
+
344
+ #hd_lay_03 ul.lpic li{margin:0px 11px 7px 0px;}
345
+ #hd_lay_03 .tlsty_lt .bg{background:#833201}
346
+ #hd_lay_lf_03{width:238px}
347
+ #hd_lay_md_03, #hd_lay_rg_03{width:356px;border-left:1px solid #fff}
348
+ #hd_lay_rg_03 ul.lpic li{float:left;margin:5px 14px}
349
+ #hd_lay_md_03 ul.lpic li{float:left;margin:5px 14px}
350
+
351
+ #hd_lay_lf_04{width:573px}
352
+ #hd_lay_lf_04 ul.lpic li{float:left;margin-right:5px}
353
+ #hd_lay_lf_04 ul.lpicdown li{width:256px;padding-left:7px;margin:0px 5px 7px 0px;}
354
+ #hd_lay_rg_04{width:378px;border-left:1px solid #fff}
355
+ #hd_lay_rg_04 ul.lpic li{float:left;margin:8px 5px 8px 10px;}
356
+
357
+ #hd_lay_rg_05 {width:713px;border-left:1px solid #fff}
358
+ #hd_lay_rg_05 ul.lpic li{float:left;margin:8px 0px 8px 24px;}
359
+
360
+ #hd_lay_06 ul.lpic li{float:left;margin:7px 0px 7px 32px;}
361
+
362
+ #hd_lay_07 ul.lpic li{float:left;margin:7px 0px 7px 32px;border:0px;}
363
+ #hd_lay_07 ul.lpic li div{background:#fff;border:1px solid #B8B8B8;line-height:17px}
364
+
365
+ #hds_lay_lf_01 {width:677px;overflow:hidden;border-right:1px solid #B8B8B8;}
366
+ #hds_lay_lf_01 .bg_1{background:#fff;border:1px solid #B8B8B8}
367
+ #hds_lay_lf_01 ul.lpic{width:191px;}
368
+ #hds_lay_lf_01 ul.lpic li{margin:0px;}
369
+ #hds_lay_lf_01 .r ul{width:259px;}
370
+ #hds_lay_rg_01 {width:240px}
371
+ #hds_lay_rg_01 .lzb img{margin:5px 7px 0px 7px;}
372
+
373
+ #hds_lay_02 ul.lpic li{margin:0px 25px 7px 0px;}
374
+
375
+ #hds_lay_03 ul.lpic li{margin:0px 24px 7px 0px;}
376
+
377
+ #hds_lay_04 ul.lpic li{background:transparent;border:none;;margin:7px 23px 7px 0px;}
378
+ #hds_lay_04 ul.lpic li div{background:#fff;border:1px solid #B8B8B8;margin-bottom:7px;line-height:17px}
379
+ #hds_lay_04 ul.lpic li{line-height:20px;}
380
+
381
+ #hds_lay_lf_11 {width:682px;}
382
+ #hds_lay_lf_11 ul.lpic li{background:transparent;border:none;;margin:7px 14px 14px 0px;}
383
+ #hds_lay_lf_11 ul.lpic li div{background:#fff;border:1px solid #B8B8B8;margin-bottom:7px;line-height:17px}
384
+ #hds_lay_lf_11 ul.lpic li{line-height:20px;}
385
+ #hds_lay_rg_11 {width:240px}
386
+ #hds_lay_rg_11 .lzb img{margin:5px 7px 0px 7px;}
@@ -0,0 +1,18 @@
1
+ /*
2
+ *@�������ı༭����չ��ʽ*
3
+ *@add leijun
4
+ *@date 20100915
5
+ */
6
+
7
+ body, td, pre,table th,.mceContentBody p,.mceContentBody div{font-size:14px;}
8
+ .link-box div,.mceContentBody .link-box{background-color:#f4f4f4;border:1px solid #ccc;margin:0 auto;padding:10px;zoom:1}
9
+ .mceContentBody .link-box strong,.mceContentBody .link-box b{font-size:12px;font-weight:normal;color:#666}
10
+ .mceContentBody .link-box em{font-style:italic;}
11
+ .mceContentBody .link-box strong em,.mceContentBody .link-box b em{font-style:normal;}
12
+
13
+
14
+
15
+
16
+
17
+
18
+