HTM

本文介绍了如何使用 CSS-P (Cascading Style Sheets Positioning) 控制网页元素的位置。通过 DIV 标签和 CSS 属性如 position、left、top 等实现精确布局。文章还探讨了相对定位和绝对定位的区别。

简单的说就是一个标签 

我们都知道,在网页上利用HTML定位文字和图象是一件“令人心痛”的事情。我们必须使用表格标签和隐式GIF图象,即使这样也不能保证定位的精确,因为浏览器和操作平台的不同会使显示的结果发生变化。

而CSS能使你看到希望的曙光。利用今天我们即将学到的CSS属性,你可以精确地设定要素的位置,还能将定位的要素叠放在彼此之上,还有...还有......你自己慢慢看吧!

Cascading Style Sheets(CSS)是 DHTML 的基础。CSS 用来设定你网页上的元素是如何展示的。Cascading Style Sheets Positioning(CSS-P)是 CSS 的一个扩展,它可用来控制任何东西在网页上或是说在窗口中的位置。请你记住这两个名词:CSS 和 CSS-P。下面四个英文网址提供了详细的关于 CSS 和 CSS-P 的文件和解释。 

● 1.使用 DIV 标签 (div)

当我们使用 CSS-P 的时候, 我们主要把它用在 DIV(division)tag 上。当你把文字,图象,或其他的放在 DIV 中,它可称作为“DIV block”,或“DIV element”或“CSS-layer”,或干脆叫“layer”。而中文我们把它称作“层次”。所以当你以后看到这些名词的时候,你就知道它们是指一段在 DIV 中的 HTML。

使用 DIV 的方法跟使用其他 tag 的方法一样:

<DIV>This is a DIV tag .</DIV>

如果单独使用 DIV 而不加任何 CSS-P, 那么它在网页中的效果和使用 <P></P> 是一样的。

但当我们把 CSS-P 用到 DIV 中去以后,我么就可以严格设定它的位置。首先我们需要给这个可以被 CSS-P 控制的 DIV 一个 ID 或说是它的名字。比如说我们给下面这个 DIV 的名字是 truck。给名字的目的是我们以后可用 JavaScript 来控制它, 比如说移动它或改变它的一些性质等等。

<DIV ID=“truck“>

This is a truck

</DIV>

给层次取什么名字是随意的,名字可以是任何英文字母和数字,但第一个必须是字母。有两种把 CSS-P 应用到 DIV 的方法。

Inline CSS:Inline 是最常用的方法。

<DIV ID=“truck“ STYLE=“styles go here“>

This is a truck .

</DIV>

External STYLE tag:使用 External 方法的结果是一样的。我们会在以后的课程里再详细解释这种方法。现在我们主要讨论Inline 方法。请注意在 External 方法里,在 STYLE 里的 ID 和 DIV 里的关系。

<STYLE TYPE=“text/css“>

<!-- #truck {styles go here} -->

</STYLE>

<DIV ID=“truck“>This is a truck .</DIV>

Cross-Browser CSS 性质:

我们这个课程的主要目的是让你写出的网页在 NS4 和 IE4 上都能工作, 所以我们主要讨论那些对俩者都通用的性质。下面这些性质符合由 W3C 给出的标准。 

position 决定 DIV tag 是如何放置的。“relative”意思是DIV的位置是相对于其他 tag 的,而“absolute”是说 DIV tag 的位置是相对于它所在的窗口。 

left 相对于窗口左边的位置 

top 相对于窗口上边的位置 

width DIV tag 的宽度。所有在 DIV 里的文字或html都在里面。 

height DIV tag 的高度。这个性质很少用除非你想 Clip 层次。 

clip 给出 layer 的 clipping(可看的见的)部分。Clip 可使得 DIV 显示为一个可以定义的很准确的方块。你可以用以下的四个值来给出这个方块的在 DIV 位置和大小。

[root@yfw ~]# cd /www/wwwroot/szrengjing.com/admin/templates [root@yfw templates]# ll total 2188 -rwxr-xr-x 1 www www 2553 Sep 20 2017 about_us.htm -rwxr-xr-x 1 www www 3310 Sep 20 2017 account_info.htm -rwxr-xr-x 1 www www 3927 Sep 20 2017 account_list.htm -rwxr-xr-x 1 www www 3190 Sep 20 2017 admin_logs.htm -rwxr-xr-x 1 www www 3005 Sep 20 2017 ad_position_info.htm -rwxr-xr-x 1 www www 3398 Sep 20 2017 ad_position_list.htm -rwxr-xr-x 1 www www 1371 Sep 20 2017 adsense.htm -rwxr-xr-x 1 www www 7294 Sep 20 2017 ads_info.htm -rwxr-xr-x 1 www www 2068 Sep 20 2017 ads_js.htm -rwxr-xr-x 1 www www 4717 Sep 20 2017 ads_list.htm -rwxr-xr-x 1 www www 2830 Sep 20 2017 affiliate_ck_list.htm -rwxr-xr-x 1 www www 6784 Sep 20 2017 affiliate.htm -rwxr-xr-x 1 www www 2807 Sep 20 2017 affiliate_list.htm -rwxr-xr-x 1 www www 6425 Sep 20 2017 agency_info.htm -rwxr-xr-x 1 www www 2370 Sep 20 2017 agency_list.htm -rwxr-xr-x 1 www www 2840 Sep 20 2017 area_list.htm -rwxr-xr-x 1 www www 4059 Sep 20 2017 articlecat_info.htm -rwxr-xr-x 1 www www 4164 Sep 20 2017 articlecat_list.htm -rwxr-xr-x 1 www www 9550 Sep 20 2017 article_info.htm -rwxr-xr-x 1 www www 5854 Sep 20 2017 article_list.htm -rwxr-xr-x 1 www www 2842 Sep 20 2017 attention_list.htm -rwxr-xr-x 1 www www 7589 Sep 20 2017 attribute_info.htm -rwxr-xr-x 1 www www 4120 Sep 20 2017 attribute_list.htm -rwxr-xr-x 1 www www 3300 Sep 20 2017 attribute_setcolor.htm -rwxr-xr-x 1 www www 8325 Sep 20 2017 auction_info.htm -rwxr-xr-x 1 www www 4122 Sep 20 2017 auction_list.htm -rwxr-xr-x 1 www www 1041 Sep 20 2017 auction_log.htm -rwxr-xr-x 1 www www 11149 Sep 20 2017 back_info_2.htm -rwxr-xr-x 1 www www 5775 Sep 20 2017 back_info.htm -rwxr-xr-x 1 www www 5657 Sep 20 2017 back_list_2.htm -rwxr-xr-x 1 www www 4589 Sep 20 2017 back_list.htm -rwxr-xr-x 1 www www 2615 Sep 20 2017 back_refund.htm -rwxr-xr-x 1 www www 1470 Sep 20 2017 batch_card_confirm.htm -rwxr-xr-x 1 www www 1856 Sep 20 2017 batch_card_info.htm -rwxr-xr-x 1 www www 3676 Sep 20 2017 bonus_by_goods.htm -rwxr-xr-x 1 www www 1650 Sep 20 2017 bonus_by_print.htm -rwxr-xr-x 1 www www 5303 Sep 20 2017 bonus_by_user.htm -rwxr-xr-x 1 www www 3357 Sep 20 2017 bonus_list.htm -rwxr-xr-x 1 www www 2968 Sep 20 2017 bonus_type.htm -rwxr-xr-x 1 www www 8085 Sep 20 2017 bonus_type_info.htm -rwxr-xr-x 1 www www 3344 Sep 20 2017 booking_info.htm -rwxr-xr-x 1 www www 3310 Sep 20 2017 booking_list.htm -rwxr-xr-x 1 www www 3181 Sep 20 2017 brand_info.htm -rwxr-xr-x 1 www www 2325 Sep 20 2017 brand_list.htm -rwxr-xr-x 1 www www 675 Sep 20 2017 brand_search.htm -rwxr-xr-x 1 www www 7703 Sep 20 2017 calculator.htm -rwxr-xr-x 1 www www 2846 Sep 20 2017 captcha_manage.htm -rwxr-xr-x 1 www www 3565 Sep 20 2017 card_info.htm -rwxr-xr-x 1 www www 2767 Sep 20 2017 card_list.htm -rwxr-xr-x 1 www www 1970 Sep 20 2017 category_flashimg_info.htm -rwxr-xr-x 1 www www 1309 Sep 20 2017 category_flashimg_list.htm -rwxr-xr-x 1 www www 13916 Sep 20 2017 category_info.htm -rwxr-xr-x 1 www www 6156 Sep 20 2017 category_list.htm -rwxr-xr-x 1 www www 1435 Sep 20 2017 category_move.htm -rwxr-xr-x 1 www www 691 Sep 20 2017 category_search.htm -rwxr-xr-x 1 www www 5080 Sep 20 2017 category_virtual_info.htm -rwxr-xr-x 1 www www 5720 Sep 20 2017 category_virtual_list.htm -rwxr-xr-x 1 www www 1570 Sep 20 2017 clear_demo.htm -rwxr-xr-x 1 www www 87365 Aug 24 2014 code.jpg -rwxr-xr-x 1 www www 4425 Sep 20 2017 comment_info.htm -rwxr-xr-x 1 www www 4390 Sep 20 2017 comment_list.htm -rwxr-xr-x 1 www www 4914 Sep 20 2017 convert_main.htm -rwxr-xr-x 1 www www 2000 Nov 9 12:10 credit_log.htm -rwxr-xr-x 1 www www 7085 Sep 20 2017 cron_edit.htm -rwxr-xr-x 1 www www 1983 Sep 20 2017 cron_list.htm -rwxr-xr-x 1 www www 11408 Sep 20 2017 customer_info.htm -rwxr-xr-x 1 www www 3876 Sep 20 2017 customer_list.htm -rwxr-xr-x 1 www www 4488 Sep 20 2017 db_backup.htm -rwxr-xr-x 1 www www 3668 Sep 20 2017 db_restore.htm -rwxr-xr-x 1 www www 7366 Sep 20 2017 delivery_info.htm -rwxr-xr-x 1 www www 5115 Sep 20 2017 delivery_list.htm -rwxr-xr-x 1 www www 2613 Sep 20 2017 dodolink_list.htm -rwxr-xr-x 1 www www 1517 Sep 20 2017 drag.htm -rwxr-xr-x 1 www www 7284 Sep 20 2017 ebao_list.htm -rwxr-xr-x 1 www www 7473 Sep 20 2017 ebao_select.htm -rwxr-xr-x 1 www www 2321 Sep 20 2017 email_list.htm -rwxr-xr-x 1 www www 2437 Sep 20 2017 excel.htm -rwxr-xr-x 1 www www 4151 Sep 20 2017 exchange_goods_info.htm -rwxr-xr-x 1 www www 3724 Sep 20 2017 exchange_goods_list.htm -rwxr-xr-x 1 www www 13067 Sep 20 2017 favourable_info.htm -rwxr-xr-x 1 www www 4024 Sep 20 2017 favourable_list.htm -rwxr-xr-x 1 www www 3489 Sep 20 2017 filecheck.htm -rwxr-xr-x 1 www www 2803 Nov 8 18:35 file_priv.html -rwxr-xr-x 1 www www 1954 Sep 20 2017 flashplay_add.htm -rwxr-xr-x 1 www www 7286 Sep 20 2017 flashplay_ccustom_edit.htm -rwxr-xr-x 1 www www 5821 Sep 20 2017 flashplay_custom_add.htm -rwxr-xr-x 1 www www 3386 Sep 20 2017 flashplay_custom.htm -rwxr-xr-x 1 www www 3356 Sep 20 2017 flashplay_list.htm -rwxr-xr-x 1 www www 964 Sep 20 2017 flashplay_tab.htm -rwxr-xr-x 1 www www 8295 Sep 20 2017 flow_stats.htm -rwxr-xr-x 1 www www 4543 Sep 20 2017 gen_goods_script.htm -rwxr-xr-x 1 www www 4478 Sep 20 2017 get_pwd.htm -rwxr-xr-x 1 www www 2049 Nov 8 18:35 gettaobaogoods.html -rwxr-xr-x 1 www www 1823 Nov 8 18:35 gettaobaogoodsview.html -rwxr-xr-x 1 www www 3870 Sep 20 2017 goods_auto.htm -rwxr-xr-x 1 www www 3748 Sep 20 2017 goods_batch_add.htm -rwxr-xr-x 1 www www 1602 Sep 20 2017 goods_batch_confirm.htm -rwxr-xr-x 1 www www 5568 Sep 20 2017 goods_batch_edit.htm -rwxr-xr-x 1 www www 6810 Sep 20 2017 goods_batch_select.htm -rwxr-xr-x 1 www www 24484 Sep 20 2017 goods_export.htm -rwxr-xr-x 1 www www 58507 Apr 26 2025 goods_info.htm -rwxr-xr-x 1 www www 9658 Sep 20 2017 goods_list.htm -rwxr-xr-x 1 www www 3717 Sep 20 2017 goods_search.htm -rwxr-xr-x 1 www www 268 Sep 20 2017 goods_show_image.htm -rwxr-xr-x 1 www www 1226 Sep 20 2017 goods_tag_info.htm -rwxr-xr-x 1 www www 1196 Sep 20 2017 goods_tag_list.htm -rwxr-xr-x 1 www www 1202 Sep 20 2017 goods_tags_list.htm -rwxr-xr-x 1 www www 3733 Sep 20 2017 goods_trash.htm -rwxr-xr-x 1 www www 2112 Sep 20 2017 goods_type.htm -rwxr-xr-x 1 www www 2106 Sep 20 2017 goods_type_info.htm -rwxr-xr-x 1 www www 7642 Sep 20 2017 group_buy_info.htm -rwxr-xr-x 1 www www 4527 Sep 20 2017 group_buy_list.htm -rwxr-xr-x 1 www www 2246 Sep 20 2017 guest_stats.htm -rwxr-xr-x 1 www www 1329 Sep 20 2017 index.htm -rwxr-xr-x 1 www www 2718 Sep 20 2017 integrates_check.htm -rwxr-xr-x 1 www www 1445 Sep 20 2017 integrates_list.htm -rwxr-xr-x 1 www www 2941 Sep 20 2017 integrates_modify.htm -rwxr-xr-x 1 www www 3459 Sep 20 2017 integrates_points.htm -rwxr-xr-x 1 www www 12217 Sep 20 2017 integrates_setup.htm -rwxr-xr-x 1 www www 1907 Sep 20 2017 integrates_sync.htm -rwxr-xr-x 1 www www 2037 Sep 20 2017 integrates_uc_import.htm -rwxr-xr-x 1 www www 1654 Sep 20 2017 integrate_sync.htm -rwxr-xr-x 1 www www 1332 Sep 20 2017 keyword_area.htm -rwxr-xr-x 1 www www 3779 Sep 20 2017 keyword_list.htm -rwxr-xr-x 1 www www 3335 Sep 20 2017 kuaidi_order_info.htm -rwxr-xr-x 1 www www 8954 Sep 20 2017 kuaidi_order_list.htm -rwxr-xr-x 1 www www 1606 Sep 20 2017 kuaidi_order_setpostman.htm -rwxr-xr-x 1 www www 2702 Sep 20 2017 language_list.htm -rwxr-xr-x 1 www www 1983 Sep 20 2017 license.htm -rwxr-xr-x 1 www www 3553 Sep 20 2017 link_info.htm -rwxr-xr-x 1 www www 2381 Sep 20 2017 link_list.htm -rwxr-xr-x 1 www www 3386 Sep 20 2017 login.htm -rwxr-xr-x 1 www www 887 Sep 20 2017 magazine_list_add.htm -rwxr-xr-x 1 www www 2119 Sep 20 2017 magazine_list.htm -rwxr-xr-x 1 www www 4986 Sep 20 2017 mail_template.htm -rwxr-xr-x 1 www www 5180 Sep 20 2017 menu.htm -rwxr-xr-x 1 www www 2718 Sep 20 2017 merge_order.htm -rwxr-xr-x 1 www www 1965 Sep 20 2017 message.htm -rwxr-xr-x 1 www www 2240 Sep 20 2017 message_info.htm -rwxr-xr-x 1 www www 3117 Sep 20 2017 message_list.htm -rwxr-xr-x 1 www www 945 Sep 20 2017 message_view.htm -rwxr-xr-x 1 www www 2497 Sep 20 2017 msg_add.htm -rwxr-xr-x 1 www www 3725 Sep 20 2017 msg_info.htm -rwxr-xr-x 1 www www 5235 Sep 20 2017 msg_list.htm -rwxr-xr-x 1 www www 4564 Sep 20 2017 navigator_add.htm -rwxr-xr-x 1 www www 2274 Sep 20 2017 navigator.htm -rwxr-xr-x 1 www www 1430 Sep 20 2017 optimize.htm -rwxr-xr-x 1 www www 3805 Sep 20 2017 order_comment_list.htm -rwxr-xr-x 1 www www 10877 Sep 20 2017 order_delivery_info.htm -rwxr-xr-x 1 www www 1612 Sep 20 2017 order_goods_info.htm -rwxr-xr-x 1 www www 23822 Dec 30 2024 order_info.htm -rwxr-xr-x 1 www www 18988 Dec 30 2024 order_list.htm -rwxr-xr-x 1 www www 2937 Sep 20 2017 order_operate.htm -rwxr-xr-x 1 www www 2063 Sep 20 2017 order_operate_info.htm -rwxr-xr-x 1 www www 5197 Sep 20 2017 order_query.htm -rwxr-xr-x 1 www www 1839 Sep 20 2017 order_refund.htm -rwxr-xr-x 1 www www 8377 Sep 20 2017 order_stats.htm -rwxr-xr-x 1 www www 46137 Dec 30 2024 order_step.htm -rwxr-xr-x 1 www www 2706 Sep 20 2017 order_surplus_list.htm -rwxr-xr-x 1 www www 642 Sep 20 2017 order_templates.htm -rwxr-xr-x 1 www www 8974 Sep 20 2017 package_info.htm -rwxr-xr-x 1 www www 2857 Sep 20 2017 package_list.htm -rwxr-xr-x 1 www www 3546 Sep 20 2017 pack_info.htm -rwxr-xr-x 1 www www 2637 Sep 20 2017 pack_list.htm -rwxr-xr-x 1 www www 6017 Apr 25 2025 pagefooter.htm -rwxr-xr-x 1 www www 2219 Sep 20 2017 pageheader_20150714.htm -rwxr-xr-x 1 www www 2356 Sep 20 2017 pageheader_bd.htm -rwxr-xr-x 1 www www 2250 Sep 20 2017 pageheader.htm -rwxr-xr-x 1 www www 2254 Sep 20 2017 pageheader_org.htm -rwxr-xr-x 1 www www 1137 Sep 20 2017 page.htm -rwxr-xr-x 1 www www 4099 Sep 20 2017 payment_edit.htm -rwxr-xr-x 1 www www 3557 Sep 20 2017 payment_list.htm -rwxr-xr-x 1 www www 2495 Sep 20 2017 pickup_point_batch_add.htm -rwxr-xr-x 1 www www 5178 Sep 20 2017 pickup_point_info.htm -rwxr-xr-x 1 www www 5810 Sep 20 2017 pickup_point_list.htm -rwxr-xr-x 1 www www 1432 Sep 20 2017 pickup_point_upload_confirm.htm -rwxr-xr-x 1 www www 10890 Sep 20 2017 picture_batch.htm -rwxr-xr-x 1 www www 1610 Sep 20 2017 plugins.htm -rwxr-xr-x 1 www www 1945 Sep 20 2017 postman_info.htm -rwxr-xr-x 1 www www 3457 Sep 20 2017 postman_list.htm -rwxr-xr-x 1 www www 11858 Sep 20 2017 pre_sale_info.htm -rwxr-xr-x 1 www www 4915 Sep 20 2017 pre_sale_list.htm -rwxr-xr-x 1 www www 2539 Sep 20 2017 price_batch.htm -rwxr-xr-x 1 www www 3011 Sep 20 2017 pricecut_info.htm -rwxr-xr-x 1 www www 3418 Sep 20 2017 pricecut_list.htm -rwxr-xr-x 1 www www 3125 Sep 20 2017 print.htm -rwxr-xr-x 1 www www 9740 Sep 20 2017 print_index.htm -rwxr-xr-x 1 www www 2593 Sep 20 2017 privilege_allot.htm -rwxr-xr-x 1 www www 7761 Sep 20 2017 privilege_info.htm -rwxr-xr-x 1 www www 1724 Sep 20 2017 privilege_list.htm -rwxr-xr-x 1 www www 6010 Sep 20 2017 product_info.htm -rwxr-xr-x 1 www www 4088 Sep 20 2017 question_info.htm -rwxr-xr-x 1 www www 4231 Sep 20 2017 question_list.htm -rwxr-xr-x 1 www www 0 Feb 11 2025 readme.ini -rwxr-xr-x 1 www www 1407 Sep 20 2017 rebate_order2.htm -rwxr-xr-x 1 www www 2534 Sep 20 2017 rebate_order.htm -rwxr-xr-x 1 www www 2241 Sep 20 2017 reg_field_info.htm -rwxr-xr-x 1 www www 1610 Sep 20 2017 reg_fields.htm -rwxr-xr-x 1 www www 2558 Sep 20 2017 repay_info.htm -rwxr-xr-x 1 www www 2059 Sep 20 2017 replenish_info.htm -rwxr-xr-x 1 www www 3882 Sep 20 2017 replenish_list.htm -rwxr-xr-x 1 www www 4151 Sep 20 2017 report_pv.htm -rwxr-xr-x 1 www www 3091 Sep 20 2017 role_info.htm -rwxr-xr-x 1 www www 1206 Sep 20 2017 role_list.htm -rwxr-xr-x 1 www www 3486 Sep 20 2017 sale_general.htm -rwxr-xr-x 1 www www 3589 Sep 20 2017 sale_list.htm -rwxr-xr-x 1 www www 3689 Sep 20 2017 sale_order.htm -rwxr-xr-x 1 www www 2748 Sep 20 2017 scan_error.htm -rwxr-xr-x 1 www www 3450 Sep 20 2017 scan_filter.htm -rwxr-xr-x 1 www www 3306 Sep 20 2017 scan_in.htm -rwxr-xr-x 1 www www 1305 Sep 20 2017 scan_insert.htm -rwxr-xr-x 1 www www 3445 Sep 20 2017 scan_out.htm -rwxr-xr-x 1 www www 2676 Sep 20 2017 searchengine_stats.htm -rwxr-xr-x 1 www www 1598 Sep 20 2017 search_log_list.htm -rwxr-xr-x 1 www www 1596 Sep 20 2017 sendmail.htm -rwxr-xr-x 1 www www 7705 Sep 20 2017 setting_first.htm -rwxr-xr-x 1 www www 2506 Sep 20 2017 setting_second.htm -rwxr-xr-x 1 www www 993 Sep 20 2017 setting_third.htm -rwxr-xr-x 1 www www 2854 Sep 20 2017 shaidan_info.htm -rwxr-xr-x 1 www www 2106 Sep 20 2017 shaidan_list.htm -rwxr-xr-x 1 www www 1020 Sep 20 2017 shaidan_search.htm -rwxr-xr-x 1 www www 9816 Sep 20 2017 shipping_area_info.htm -rwxr-xr-x 1 www www 1945 Sep 20 2017 shipping_area_list.htm -rwxr-xr-x 1 www www 816 Sep 20 2017 shipping_config.htm -rwxr-xr-x 1 www www 3515 Sep 20 2017 shipping_list.htm -rwxr-xr-x 1 www www 3281 Sep 20 2017 shipping_template.htm -rwxr-xr-x 1 www www 5774 Sep 20 2017 shop_config_chat_settings.htm -rwxr-xr-x 1 www www 7783 Dec 30 2024 shop_config_form.htm -rwxr-xr-x 1 www www 2836 Apr 5 2025 shop_config.htm -rwxr-xr-x 1 www www 2679 Sep 20 2017 shop_config_mail_settings.htm -rwxr-xr-x 1 www www 1661 Sep 20 2017 shophelp_article_list.htm -rwxr-xr-x 1 www www 2766 Sep 20 2017 shophelp_cat_list.htm -rwxr-xr-x 1 www www 2008 Sep 20 2017 shophelp_info.htm -rwxr-xr-x 1 www www 1444 Sep 20 2017 shopinfo_info.htm -rwxr-xr-x 1 www www 1395 Sep 20 2017 shopinfo_list.htm -rwxr-xr-x 1 www www 1825 Sep 20 2017 sitemap.htm -rwxr-xr-x 1 www www 993 Sep 20 2017 sms_charge_history.htm -rwxr-xr-x 1 www www 1653 Sep 20 2017 sms_charge_history_query_ui.htm -rwxr-xr-x 1 www www 1553 Sep 20 2017 sms_charge_ui.htm -rwxr-xr-x 1 www www 1128 Sep 20 2017 sms_my_info.htm -rwxr-xr-x 1 www www 2959 Sep 20 2017 sms_pages.htm -rwxr-xr-x 1 www www 3535 Sep 20 2017 sms_register_ui.htm -rwxr-xr-x 1 www www 1154 Sep 20 2017 sms_send_history.htm -rwxr-xr-x 1 www www 1662 Sep 20 2017 sms_send_history_query_ui.htm -rwxr-xr-x 1 www www 1464 Sep 20 2017 sms_send_ui.htm -rwxr-xr-x 1 www www 9090 Sep 20 2017 snatch_info.htm -rwxr-xr-x 1 www www 3399 Sep 20 2017 snatch_list.htm -rwxr-xr-x 1 www www 2493 Sep 20 2017 snatch_view.htm -rwxr-xr-x 1 www www 921 Sep 20 2017 sql_dump_msg.htm -rwxr-xr-x 1 www www 1541 Sep 20 2017 sql.htm -rwxr-xr-x 1 www www 13063 Apr 12 2025 start.htm -rwxr-xr-x 1 www www 3782 Sep 20 2017 street_category_info.htm -rwxr-xr-x 1 www www 3672 Sep 20 2017 street_category_list.htm -rwxr-xr-x 1 www www 3855 Sep 20 2017 street_info.htm -rwxr-xr-x 1 www www 5440 Sep 20 2017 street_list.htm -rwxr-xr-x 1 www www 24471 Sep 20 2017 supplier_info.htm -rwxr-xr-x 1 www www 3927 Sep 20 2017 supplier_list.htm -rwxr-xr-x 1 www www 3457 Sep 20 2017 supplier_log_list.htm -rwxr-xr-x 1 www www 10411 Sep 20 2017 supplier_order_list1.htm -rwxr-xr-x 1 www www 9600 Sep 20 2017 supplier_order_list2.htm -rwxr-xr-x 1 www www 1361 Sep 20 2017 supplier_pageheader.htm -rwxr-xr-x 1 www www 1287 Sep 20 2017 supplier_rank.htm -rwxr-xr-x 1 www www 1551 Sep 20 2017 supplier_rank_info.htm -rwxr-xr-x 1 www www 4203 Sep 20 2017 supplier_rebate_info.htm -rwxr-xr-x 1 www www 4565 Sep 20 2017 supplier_rebate_list.htm -rwxr-xr-x 1 www www 5620 Sep 20 2017 supplier_rebate_view.htm -rwxr-xr-x 1 www www 2365 Sep 20 2017 suppliers_info.htm -rwxr-xr-x 1 www www 2683 Sep 20 2017 suppliers_list.htm -rwxr-xr-x 1 www www 1476 Sep 20 2017 supplier_tag.htm -rwxr-xr-x 1 www www 1873 Sep 20 2017 supplier_tag_info.htm -rwxr-xr-x 1 www www 2527 Sep 20 2017 tag_edit.htm -rwxr-xr-x 1 www www 2587 Sep 20 2017 tag_manage.htm -rwxr-xr-x 1 www www 8597 Sep 20 2017 takegoods_addgoods.htm -rwxr-xr-x 1 www www 3927 Sep 20 2017 takegoods_list.htm -rwxr-xr-x 1 www www 4152 Sep 20 2017 takegoods_order.htm -rwxr-xr-x 1 www www 5135 Sep 20 2017 takegoods_order_view.htm -rwxr-xr-x 1 www www 1488 Sep 20 2017 takegoods_send.htm -rwxr-xr-x 1 www www 2286 Sep 20 2017 takegoods_type.htm -rwxr-xr-x 1 www www 5311 Sep 20 2017 takegoods_type_info.htm -rwxr-xr-x 1 www www 2850 Sep 20 2017 template_library.htm -rwxr-xr-x 1 www www 2498 Sep 20 2017 templates_backup.htm -rwxr-xr-x 1 www www 14591 Sep 20 2017 template_setup.htm -rwxr-xr-x 1 www www 6587 Sep 20 2017 templates_list.htm -rwxr-xr-x 1 www www 3327 Sep 20 2017 third_customer_info.htm -rwxr-xr-x 1 www www 3639 Sep 20 2017 third_customer_list.htm -rwxr-xr-x 1 www www 19588 Apr 5 2025 top.htm -rwxr-xr-x 1 www www 20864 Sep 20 2017 topic_edit.htm -rwxr-xr-x 1 www www 3104 Sep 20 2017 topic_list.htm -rwxr-xr-x 1 www www 2237 Sep 20 2017 user_account_check.htm -rwxr-xr-x 1 www www 5402 Sep 20 2017 user_account_info.htm -rwxr-xr-x 1 www www 4415 Sep 20 2017 user_account_list.htm -rwxr-xr-x 1 www www 3595 Sep 20 2017 user_account_manage.htm -rwxr-xr-x 1 www www 1016 Sep 20 2017 user_address_list.htm -rwxr-xr-x 1 www www 11764 Sep 20 2017 user_info.htm -rwxr-xr-x 1 www www 2349 Sep 20 2017 user_rank.htm -rwxr-xr-x 1 www www 4841 Sep 20 2017 user_rank_info.htm -rwxr-xr-x 1 www www 2790 Sep 20 2017 users_export.htm -rwxr-xr-x 1 www www 7630 Sep 20 2017 users_list.htm -rwxr-xr-x 1 www www 3484 Sep 20 2017 users_order.htm -rwxr-xr-x 1 www www 3500 Sep 20 2017 valuecard_list.htm -rwxr-xr-x 1 www www 1526 Sep 20 2017 valuecard_send.htm -rwxr-xr-x 1 www www 1940 Sep 20 2017 valuecard_type.htm -rwxr-xr-x 1 www www 3795 Sep 20 2017 valuecard_type_info.htm -rwxr-xr-x 1 www www 2738 Sep 20 2017 view_sendlist.htm -rwxr-xr-x 1 www www 3440 Sep 20 2017 virtual_card_change.htm -rwxr-xr-x 1 www www 4022 Sep 20 2017 virtual_district_info.htm -rwxr-xr-x 1 www www 1876 Sep 20 2017 virtual_goods_card_info.htm -rwxr-xr-x 1 www www 8251 Sep 20 2017 virtual_goods_card_list.htm -rwxr-xr-x 1 www www 7969 Sep 20 2017 virtual_goods_district.htm -rwxr-xr-x 1 www www 46569 Sep 20 2017 virtual_goods_info.htm -rwxr-xr-x 1 www www 9477 Sep 20 2017 virtual_goods_list.htm -rwxr-xr-x 1 www www 4441 Sep 20 2017 virtual_goods_search.htm -rwxr-xr-x 1 www www 12911 Sep 20 2017 virtual_order_info.htm -rwxr-xr-x 1 www www 6079 Sep 20 2017 virtual_product_info.htm -rwxr-xr-x 1 www www 2982 Sep 20 2017 virtual_validate.htm -rwxr-xr-x 1 www www 1762 Sep 20 2017 visit_sold.htm -rwxr-xr-x 1 www www 2829 Sep 20 2017 vote_info.htm -rwxr-xr-x 1 www www 2132 Sep 20 2017 vote_list.htm -rwxr-xr-x 1 www www 2518 Sep 20 2017 vote_option.htm -rwxr-xr-x 1 www www 2719 Sep 20 2017 webcollect.htm -rwxr-xr-x 1 www www 3890 Sep 20 2017 website.htm -rwxr-xr-x 1 www www 2220 Sep 20 2017 website_install.htm -rwxr-xr-x 1 www www 685 Sep 20 2017 website_view.htm -rwxr-xr-x 1 www www 27076 Jan 12 2014 weixin.png -rwxr-xr-x 1 www www 6790 Sep 20 2017 wholesale_batch_info.htm -rwxr-xr-x 1 www www 9973 Sep 20 2017 wholesale_info.htm -rwxr-xr-x 1 www www 3326 Sep 20 2017 wholesale_list.htm -rwxr-xr-x 1 www www 0 May 22 15:40 新建文本 [root@yfw templates]#
11-10
你运行了 `ll` 命令,列出了 ECShop 后台模板目录 `/www/wwwroot/szrengjing.com/admin/templates` 的所有文件。 从输出中我们可以看到一个重要信息: ```bash -rwxr-xr-x 1 www www 2000 Nov 9 12:10 credit_log.htm ``` ✅ **说明:你已经创建了一个名为 `credit_log.htm` 的后台模板文件!** 这非常关键。结合之前的讨论,我们现在可以确认以下几点,并为你提供完整的解决方案。 --- ## ✅ 当前状态分析 | 项目 | 状态 | |------|------| | ✅ 是否有模板? | 是的,`credit_log.htm` 存在 | | ✅ 模板路径正确吗? | 是,在标准模板目录下 | | ✅ 文件权限是否正常? | `rwxr-xr-x`(644 或 755),对 Web 可读 | | ✅ 所属用户是否正确? | `www:www`,符合常见 PHP-FPM 配置 | | ✅ 这个模板会被使用吗? | ❌ 不会 —— **除非你写对应的 PHP 控制器并调用它** | --- ## 🔧 核心问题:为什么有了 `credit_log.htm` 还是“打不开”? > 🚫 因为 `.htm` 模板文件不会自己运行! ECShop 的工作流程是: ``` 浏览器请求 → PHP 脚本(如 credit_log.php) → 查询数据 → 分配变量 → $smarty->display('credit_log.htm') ``` 👉 所以你需要一个 **PHP 入口文件** 来加载这个模板。 --- ## ✅ 解决方案:创建 `credit_log.php` 并集成进后台 ### 步骤 1:进入 admin 目录 ```bash cd /www/wwwroot/szrengjing.com/admin ``` ### 步骤 2:创建 `credit_log.php` 文件 使用编辑器创建该文件: ```bash vim credit_log.php ``` 粘贴以下内容: ```php <?php /** * 用户信用变更日志 - 后台管理页面 */ define('IN_ECS', true); require(dirname(__FILE__) . '/includes/init.php'); // 权限控制(建议新建权限节点或复用 existing) admin_priv('users_manage'); // 可改为 'credit_log_view' 自定义权限 // 获取参数 $user_id = !empty($_GET['user_id']) ? intval($_GET['user_id']) : 0; $start_date = !empty($_GET['start_date']) ? trim($_GET['start_date']) : date('Y-m-01'); $end_date = !empty($_GET['end_date']) ? trim($_GET['end_date']) : date('Y-m-d'); // 验证日期格式 $valid_start = preg_match('/^\d{4}-\d{2}-\d{2}$/', $start_date); $valid_end = preg_match('/^\d{4}-\d{2}-\d{2}$/', $end_date); if (!$valid_start) $start_date = date('Y-m-01'); if (!$valid_end) $end_date = date('Y-m-d'); // 查询日志数据 $sql = "SELECT l.*, u.user_name AS username FROM " . $ecs->table('user_credit_log') . " l LEFT JOIN " . $ecs->table('users') . " u ON l.user_id = u.user_id WHERE 1=1"; if ($user_id) { $sql .= " AND l.user_id = '$user_id'"; } if ($valid_start) { $sql .= " AND l.created_at >= '$start_date 00:00:00'"; } if ($valid_end) { $sql .= " AND l.created_at <= '$end_date 23:59:59'"; } $sql .= " ORDER BY l.created_at DESC LIMIT 100"; $logs = $db->getAll($sql); // 分配变量给模板 $smarty->assign('logs', $logs); $smarty->assign('user_id', $user_id); $smarty->assign('start_date', $start_date); $smarty->assign('end_date', $end_date); // 显示模板 $smarty->display('credit_log.htm'); ?> ``` 保存退出。 --- ### 步骤 3:确保数据库表存在 检查是否有 `ecs_user_credit_log` 表(前缀可能不同): ```sql DESCRIBE ecs_user_credit_log; ``` 如果没有,请执行建表语句: ```sql CREATE TABLE IF NOT EXISTS `ecs_user_credit_log` ( `id` int(10) unsigned NOT NULL AUTO_INCREMENT, `user_id` int(10) unsigned NOT NULL, `old_score` int(11) NOT NULL DEFAULT '0', `new_score` int(11) NOT NULL DEFAULT '0', `change_value` int(11) NOT NULL DEFAULT '0', `reason` varchar(255) NOT NULL DEFAULT '', `created_at` datetime NOT NULL, PRIMARY KEY (`id`), KEY `user_id` (`user_id`), KEY `created_at` (`created_at`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8; ``` --- ### 步骤 4:添加菜单项(让页面出现在左侧导航) #### 方法一:手动修改语言包(推荐用于测试) 编辑文件: ```bash vim /www/wwwroot/szrengjing.com/languages/zh_cn/admin/common.php ``` 在合适位置加入: ```php $_LANG['credit_log'] = '信用变更记录'; ``` 然后进入后台 → **系统设置 → 菜单管理**,点击“添加菜单”: - 菜单名称:`credit_log`(对应语言包键名) - 链接地址:`credit_log.php` - 上级菜单:选择“会员管理” - 权限名称:`users_manage`(或自定义后需同步添加权限) #### 方法二:直接插入数据库(高级) ```sql INSERT INTO `ecs_admin_action` (`action_id`, `parent_id`, `action_code`) VALUES (NULL, 2, 'credit_log_view'); -- 假设 parent_id=2 是用户管理 ``` 然后在代码中使用 `admin_priv('credit_log_view');`,并在菜单中绑定。 --- ### 步骤 5:访问测试 打开浏览器访问: ``` https://szrengjing.com/admin/credit_log.php ``` 你应该能看到基于 `credit_log.htm` 模板渲染的标准后台页面。 --- ## ✅ 推荐:增强 `credit_log.htm` 模板功能 你现在已有 `credit_log.htm`,建议其内容类似这样: ```smarty {include file="pageheader.htm"} <div class="main-div"> <form method="get" action="credit_log.php" name="searchForm"> <table cellpadding="3" cellspacing="1" width="100%"> <tr> <td align="right" style="padding:10px;"> 用户ID:<input type="text" name="user_id" value="{$user_id}" size="8" /> 起始日期:<input type="text" name="start_date" value="{$start_date}" size="10" class="pick_date" /> 结束日期:<input type="text" name="end_date" value="{$end_date}" size="10" class="pick_date" /> <input type="submit" value="查询" class="button" /> </td> </tr> </table> </form> <table id="list-table" width="100%" cellpadding="3" cellspacing="1"> <thead> <tr> <th>ID</th> <th>用户ID</th> <th>用户名</th> <th>旧分值</th> <th>新分值</th> <th>变化值</th> <th>原因</th> <th>操作时间</th> </tr> </thead> <tbody> {foreach from=$logs item=log} <tr align="center"> <td>{$log.id}</td> <td>{$log.user_id}</td> <td>{$log.username|default:"未知"}</td> <td>{$log.old_score}</td> <td>{$log.new_score}</td> <td style="{if $log.change_value > 0}color:green;{elseif $log.change_value < 0}color:red;{/if}"> {$log.change_value} </td> <td title="{$log.reason}">{substr($log.reason,0,30)|escape}</td> <td>{$log.created_at}</td> </tr> {/foreach} {if count($logs) eq 0} <tr><td colspan="8" align="center">暂无符合条件的记录</td></tr> {/if} </tbody> </table> </div> {include file="pagefooter.htm"} ``` > ⚠️ 注意:如果页面不显示日期选择框,可引入 laydate 或改用 input[type=date] --- ## ✅ 最终验证清单 | 检查项 | 是否完成 | |--------|----------| | ✅ 创建了 `credit_log.php` | ✔️ | | ✅ 正确包含 `init.php` | ✔️ | | ✅ 使用 `admin_priv()` 权限校验 | ✔️ | | ✅ 查询数据并分配给 `$smarty` | ✔️ | | ✅ 模板文件 `credit_log.htm` 存在且命名一致 | ✔️ | | ✅ 数据库表 `ecs_user_credit_log` 存在 | ✔️ | | ✅ 添加了后台菜单 | ✔️ | --- ## ✅ 安全提醒 你现在暴露了后台路径。请务必: 1. **禁止搜索引擎收录**:添加 `robots.txt` 2. **限制 IP 访问**:通过 `.htaccess` 或 Nginx 配置 3. **不要保留调试页面**:如 `credit_log_debug.php` 等 4. **定期更新 ECShop**:2.7.3 存在已知漏洞 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值