debian 9升级到debian 10

2019年11月1日00:11:48 7,588

更新

apt-get update && apt-get upgrade

备份一份

cp /etc/apt/sources.list /etc/apt/sources.list.orig

将/etc/apt/sources.list里所有“stretch”替换为“buster”

sed -i ‘s/stretch/buster/g’ /etc/apt/sources.list

再更新一下

apt-get update && apt-get upgrade

执行升级命令

apt-get dist-upgrade

提示完成后重启

reboot

查看下当前debian版本

lsb_release -a

============================

完成后,更新包索引:

sudo apt update

如果存在与第三方存储库相关的任何错误或警告消息,请尝试解决该问题或禁用存储库。

通过升级已安装的软件包来启动系统升级。 这将仅升级那些不需要安装或删除任何其他软件包的软件包:

sudo apt upgrade

系统将询问您是否希望在升级期间自动重新启动服务。

输出

Restart services during package upgrades without asking? 

在升级过程中,您可能还会被问到其他各种问题,例如您是要保留现有配置文件还是安装软件包维护者的版本。 如果您没有对文件进行任何自定义更改,则应该安全地键入Y,否则保持当前配置输入N.

升级可能需要一些时间,具体取决于更新次数和Internet速度。

接下来,执行apt full-upgrade,它将执行系统的完整升级,安装最新版本的软件包,并解决不同版本中软件包之间的依赖关系更改。 这将升级未使用上一个命令升级的所有软件包。

sudo apt full-upgrade

上面的命令可能会安装一些新软件包并删除冲突和过时的软件包。

完成后,使用以下方法清理不必要的包:

sudo apt autoremove

最后,通过键入以下内容重新启动计算机以激活新内核:

sudo systemctl reboot

确认升级是否成功

等待一会儿,直到系统启动并登录。

登录后,您将收到以下消息:

输出:

Linux stretch 4.19.0-5-amd64 #1 SMP Debian 4.19.37-5 (2019-06-19) x86_64
...

您还可以使用以下命令检查 Debian 版本:

lsb_release -a

输出:

No LSB modules are available.
Distributor ID:	Debian
Description:	Debian GNU/Linux 10 (buster)
Release:	10
Codename:	buster

至此,你现在可以享受你的新 Debian 10 Buster 了。

=============================

读取群晖EXT4磁盘读取方法,包含整盘GHOST到新硬盘方法。

我使用的是单盘群晖,因为硬盘有问题要换个硬盘,可是问题来了,单盘又没有USB接口,WINDOWS下又无法识别EXT4磁盘,GHOST又无法识别EXT4文件,东试西试,东找西找也没有找到相关的办法和文章。

最后用根据一些经验使用了如下软件和方法解决,首先写本文真的没时间,但为了帮助和我一样的人,就抽时间写一下,所以有写得不好的地方就见谅了,没有一定技术基础的也不建议用我这种方法了。

准备软件:DiskGeniusPro 专业版,自己百度找破解或购买正版,5.1以上才能正常使用。

1:把群晖硬盘拆下,装上新硬盘,然后和正常安装群晖一样,在新硬盘安装群晖系统,装好后就关机取下。
2:把群晖硬盘挂载到WINDOWS系统。
3:把装好群晖的新硬盘挂载到WINDOWS系统,并确认WINDOWS都能看到硬盘,电脑右键-管理-磁盘管理,里可以看到。在我的电脑下是看不到EXT4文件的。
4:确认新硬盘与旧硬盘都是三个分区一个没分配的。
5:打开DiskGeniusPro,在DiskGeniusPro里可以查看EXT4的文件的,要确认并且要分清旧硬盘与新硬盘的位置,搞错了就资料全没。
6:点击新硬盘HD开始的盘符名,右键备份分区表,保存为1,旧硬盘也备份分区表,保存为2.
7:在新硬盘上恢复分区表,恢复旧硬盘 2的分区文件,保存并正式生效。
8:选择旧硬盘下的第一个分区,右键克隆分区,把旧硬盘的第一分区克隆到新硬盘第一分区,以此类推,把三个分区都克隆过去,注意事项:在克隆个分区时选择“按文件系统结构原样复制”这样可以高效和节省时间,第二分区是无法选择的就默认,没有分配的分区就不用克隆了。
9:克隆完成后,把硬盘插回群晖机器开机,一切回复原样。

群晖单盘完整克隆方法介绍结束。

方法二:
两个硬盘都挂载在台式机,或者硬盘盒。
下载深度Linux deepin-live-system-2.0-amd64,用虚拟机加载ISO,然后把硬盘物理挂载到虚拟机中,再用深度Linux自带克隆工具整盘克隆,我没有使用过。自行选择。

国外优秀开源外贸网店程序汇总

对于一个外贸企业选择一个优秀的外贸建站程序在网站建设过程中尤为重要,为支持广大外贸网商们实现“赚发达国家的工资,在国内消费”,我们把国 外最优秀的外贸网店程序全部公布出来供大家选择。它们总的特点是网站全英文,符合外国人浏览,优化好,对英文主流搜索引擎友好,后台管理方便,支持多语言 多货币切换。

国外优秀外贸网店程序总汇:

1、OsCommerce http://www.oscommerce.com/

2、Magento http://www.magentocommerce.com

3.、Zen cart http://www.zen-cart.com

4、Prestashop http://www.prestashop.com/

5、Storesprite http://www.storesprite.com/

6、Phpshop http://www.phpshop.org/

7、Opencart http://www.opencart.com/

8、Oscmax http://www.oscmax.com/

9、Cube cart http://www.cubecart.com/

10、Agora cart http://www.agoracart.com/

11、CS-Cart http://www.cs-cart.com/

12、Creloaded http://www.creloaded.com

13、Virtuemart http://www.virtuemart.net

14、X-cart http://www.x-cart.com/

15、Php-MultiShop http://www.php-multishop.com/

16、OXID eSales http://www.oxid-esales.com/

17、Freeway http://www.openfreeway.org/

部分外贸网店程序简介:

1、osCommerce 是最受欢迎的老牌系统,他的模块发展到现在已经是非常的多,系统也是相当的完整,基本上想要的功能,只要上网查一下都有。但架构已经严重限制了它的可扩展 性和灵活性,特别是模板选择还是比较少的,一般都要买,价格比较贵。版本更新慢,社区支持不够,不够活跃,并且官方并没有提供中文语言包,需要国内的一个 组织汉化,其系统可定制行相比zen cart 要差。优势是速度比较快。被关注程度近两年有下降的趋势。

2、Magento是一款新的专业开源电子商务平台,功能非常全,特别是SEO以及网站的内部优化做的是相当的不错。整个网站看起来设计非常的大气,看起来很专业。不过对空间的要求相对其他的系统来说比较高,不太容易上手.

3、Zen Cart是目前的主流网店系统,一个免费、界面友好,开放式源码的购物系统。该系统由一些销售商、程序员、设计师和顾问们共同开发,主要的开发人员来自于 OSCommerce团队,对系统有更好的改进。由于模板和程序已经分开了来,店主能够自己定制商店的外观及功能。(XHTML 的模板)模块也是相当的多,支持多语言、多支付方式、多物流方式。Zencart对主机空间的要求不高,基本上目前支持php、mysql的国外空间都支 持zencart.

4、Virturemart是基于Joomla的一个扩展,由于有Joomla这个CMS支持,所有SEO方面有优势,但不是专业购物车,所以购物体验等方面不如专业的。

5、Freeway特点丰富的开源电子商务平台,FreeWay是可以独立使用的网店系统,也可以与Joomla做到几乎无缝整合。它提供的不 仅仅是卖卖商品而是扩展到以一些奇特的方式来销售商品。你将会发现 Freeway有着丰富和易用的CRM特点。缺点是插件和模块不够丰富,目前不能汉化,后台是英文.

6、OpenCart是国外著名的开源电子商务网站,由英国人Daniel一人独立开发,其社区非常活跃,由各国网友翻译出来的语言包已经达到 18种,其中包括中文,俄文,法文,西班牙文,德文,日文等等。OpenCart的优势在于前台界面的设计非常适合欧美购物者的浏览习惯:简洁,直观,唯 美!后台也非常的简洁明了,而且功能强大,对于初学者来说非常容易上手,对于大多数经验丰富的网店经营者来说,OpenCart的后台管理功能也基本能满 足其需求。

总结:

我们根据华夏名网15万虚拟主机客户中对外贸网店程序的选择以及各外贸网店程序在google Trends(趋势)的对比截图进行比较分析得出,目前国内外贸用户关注和使用的最多的程序有Magento 、 Zen Cart 、 sCommerce 、OpenCart 、Virtuemart。

谷歌趋势,可以真实的了解全球用户对某事物的关注程序。好的产品对客户的粘度就比较大,吸引更多的人使用,他的发展趋势就是良性的,以下就是目前外贸网店程序关注度最高的5个谷歌趋势截图:

(Zen Cart 、Magento,、osCommerce 、Freeway、Virtuemart Google全球趋势对比图)

可以发现,Freeway的全球关注度最高,但因为其后台汉化支持差,中国市场没有打开,所以中国外贸企业使用很少。

Magento很优秀,但好的插件和模版收费较高,为此我们推荐实力更综合更平民化的Zen Cart,外贸网店的龙头之一lightinthebox.com 用的就是zencart系统,Zen Cart也是国内很多UGG外贸网店用户的选择。Zen Cart中文社区是www.zen-cart.cn

同时,笔者再推荐几款国内优秀的网店系统,如Shopex、Ecshop、Hishop、V5shop等就是国内独立网店代表。符合中国人的使用习惯,功能强大,对中国的支付和物流支持好。特别是Shopex和Hishop可与淘宝、拍拍等数据互通。

openwrt下安装samba完美解决

基本步骤为安装samba-server 和配置2个步骤。

0x01

安装samba服务端

opkg install samba36-server

只要顺利一般这一行命令就安装完毕,如果找不到该包,需要先update一下

  1. opkg update
  2. opkg install samba36-server

这个命令安装的是samba的3.6版本,如果将来版本升级可能会找不到该包,则先查看opkg软件源是哪个版本

  1. opkg update
  2. opkg list | grep samba

0x02

配置文件为/etc/samba/smb.conf.template

有文章说配置的是/etc/samba/smb.conf 但是在openwrt下,samba服务重启,该文件就被重置了。

vi /etc/samba/smb.conf.template

首先注释掉[global]下的invalid users = root 这行,如果不注释掉则拒绝root用户登录。

#invalid users = root

接着就是增加共享目录,例子如下:

[etc]

path = /etc

valid users = root

guest ok = no

admin users = root

#意思是建立一个名叫做“etc”的共享目录,目录的位置是/etc ,允许root用户登录,拒绝游客。

配置完后,root用户还是没法登录,应该说samba会用系统的登录名,但是不会用系统的密码做验证,所以需要为samba设置一下密码

smbpasswd -a root

根据该命令的提示,输入root的验证密码,之后共享则使用该密码登录。

最后重启一下samba

/etc/init.d/samba restart

0x03

把以上操作做成shell脚本:

  1. opkg update
  2. package=`opkg list | grep samba36-server | awk '{print $1}'`
  3. opkg install $package
  4. sed -i '/invalid users/s/invalid/#invalid/g' /etc/samba/smb.conf.template
  5. (cat <<EOF
  6. [etc]
  7. path = /etc
  8. valid users = root
  9. guest ok = no
  10. admin users = root
  11. [tmp]
  12. path = /tmp
  13. valid users = root
  14. guest ok = no
  15. admin users = root
  16. [usr]
  17. path = /usr
  18. valid users = root
  19. guest ok = no
  20. admin users = root
  21. [var]
  22. path = /var
  23. valid users = root
  24. guest ok = no
  25. admin users = root
  26. [www]
  27. path = /www
  28. valid users = root
  29. guest ok = no
  30. admin users = root
  31. EOF
  32. ) >>/etc/samba/smb.conf.template
  33. smbpasswd -a root
  34. /etc/init.d/samba restart

使您的网站看起来像Linux终端

您看过我的个人网站JeffWeisbein.com吗?没有?继续,检查一下。我给你一分钟左右的时间。好吧,你现在回来了。因此,现在您可能想知道如何创建与该网站相似的网站。幸运的是,这很容易。您需要做的就是在JeffWeisbein.com上复制源代码,复制文本文件,对源代码和文本文件进行一些小的修改,然后将文档上载到Web服务器。

但是首先,您如何查看源代码?根据您的网络浏览器,它可能会略有不同,但是通常您可以右键单击该页面,然后选择“查看源代码”或类似的功能。它将打开一个包含源代码的新窗口。只需复制所有代码,打开您喜欢的HTML编辑器,然后将代码粘贴到其中即可。从那里,您可以进行所需的任何修改。例如,您可以(并且可能会想要)将文档标题从Jeff Weisbein更改为您自己的名字(例如John Doe)。您还可以通过修改样式/ CSS来更改页面上使用的颜色。

除了这些更改之外,您还需要在源代码中向下滚动到大约第161行,您将在其中更改以下代码行:

Typer.file="jeffweisbein.txt";Typer.file="yourname.txt";

当然,您可以将“您的姓名”替换为您的真实姓名。完成此操作后,将文件另存为.html(HTML)文件。

现在,最后一步。返回您的Web浏览器并访问http://www.jeffweisbein.com/jeffweisbein.txt

<span id="a">jeff@weisbein</span>:<span id="b">~</span><span id="c">$</span> cat jeffweisbein.txt<br/><br/>
Hi, I'm Jeff Weisbein.<!-- laglaglaglaglaglaglaglaglaglaglaglag --><p>I majored in Business Administration with a concentration in Finance. I graduated Summa Cum Laude. I'm currently enrolled in the <a href="https://analytics.hbs.edu">Business Analytics Program at Harvard</a>.</p><!-- qowifjqwoeijfoqweijfqweoifjqweofijqweoqwoijefoqwijefoijfqiwoefjj -->
<p>I'm the founder and CEO of <a href="http://www.besttechie.com">BestTechie</a> and <a href="https://getkya.com">KYA</a>.</p><!- oqwipjefqwioefjwioqfjoiqwjfeioqwjefoi -->
<p>I got started with technology at the age of 13 when I convinced my parents to let me use their credit card to buy the BestTechie domain along with some web hosting. I haven't looked back since.</p><!-- owlsqweoifjqwoefijqwoeifjqwoefijwef -->
If you would like to get in touch with me, whether it be for tech support, a business venture, or to just say hi<!-- slightdelayhere-->, feel free to send me an email or a tweet.<!-- longlongcomment --> My email address is: <a href="mailto:jeff@besttechie.com">jeff@besttechie.com</a> and my Twitter is: <a href="http://twitter.com/jeffweisbein">@jeffweisbein</a>.
<p>And if you haven't already, be sure to check out my tech publication <a href="http://www.besttechie.com">http://www.besttechie.com</a> and analytics startup <a href="https://getkya.com">https://getkya.com</a>.</p>

到那里后,复制文本文件的内容,然后将其粘贴到计算机上自己的文本文件中。同样,您将需要编辑内容以适合您的需求,但是,请确保将所有段落括号以及所有注释保留在文本文件中。它们是站点正常运行所必需的。进行更改后,将文档另存为yourname.txt(再次将“ yourname”替换为您的真实姓名)。我还应注意,您必须将其另存为文本文件 (扩展名为.txt)才能正常工作。

如果您有任何疑问,评论或问题,请随时发表评论,我会尽力提供帮助。

最后,我要感谢我的朋友Sam Phippen,让我与大家分享他出色的网站构想和编码技巧。

html结合js实现简单的树状目录

img

下面我就来分享一下JSP怎么实现一个简单的树状目录:

1. 下载jquery-treeview插件:github 百度云

2. 解压刚才下载的压缩包,并将images文件夹的中gif复制到项目中的图片管理文件夹中,如下图: images img

当然复制到什么地方是你自己选择

3. 然后将jquery.treeview.css复制到你项目的css管理文件中: treeview css

可选:复制demo/screen.css到项目中

4. 复制jquery.treeview.js到项目中的js管理文件夹中: treewiew js

可选:复制demo/jquery.cookie.js到项目中

5. 修改jquery.treeview.css中图片的路径(一样的就可以不修改了):

images img

步骤4中的img是你图片所在的文件夹

6.在head标签中添加连接:

<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
    <link rel="stylesheet" href="css/jquery.treeview.css" type="text/css"/>
    <!--screen.css不要也可以-->
    <link rel="stylesheet" href="css/screen.css" type="text/css"/>

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js"></script>
    <!--jquery.cookie.js不要也可以-->
    <script src="js/jquery.cookie.js"></script>
    <script src="js/jquery.treeview.js" type="text/javascript"></script>

<script type="text/javascript">
    $(document).ready(function(){
        $("#treeview").treeview({
            toggle: function() {
                console.log("%s was toggled.", $(this).find(">span").text());
            }
        });
    });
</script>
</head>12345678910111213141516171819202122

7.写一点代码来测试下:

<div id="main">
<ul id="treeview" class="filetree">
    <li><span class="folder">密码修改</span>
        <ul>
        <li><span class="file">密码修改</span></li>
        </ul>
    </li>
    <li><span class="folder">系统管理</span>
        <ul>
        <li><span class="file">系统管理</span></li>
        </ul>
    </li>
    <li><span class="folder">行政部门</span>
        <ul>
            <li><span class="file">合同管理</span></li>
            <li><span class="file">加班信息</span></li>
            <li><span class="file">业绩报告</span></li>
        </ul>
    </li>
    <li><span class="folder">考勤部门</span>
        <ul>
            <li><span class="file">考勤信息</span></li>
        </ul>
    </li>
    <li><span class="folder">人力资源部</span>
        <ul>
            <li><span class="file">添加员工</span></li>
            <li><span class="file">删除员工</span></li>
            <li><span class="file">信息跟踪</span></li>
            <li><span class="file">修改员工信息</span></li>
            <li><span class="file">员工信息查询</span></li>
            <li><span class="file">合同过期查询</span></li>
        </ul>
    </li>
    <li><span class="folder">请假管理</span>
        <ul>
            <li><span class="file">请假审批</span></li>
        </ul>
    </li>
    <li><span class="folder">招聘管理</span>
        <ul id="tree">
            <li><span class="folder">求职者信息管理</span>
                <ul>
                    <li><span class="file">添加</span></li>
                    <li><span class="file">查询</span></li>
                </ul>
            </li>
            <li><span class="file">添加招聘信息</span></li>
            <li><span class="file">修改招聘信息</span></li>
        </ul>
    </li>
    <li><span class="folder">财务部门</span>
        <ul>
            <li><span class="file">密码修改</span></li>
            <li><span class="file">薪资管理</span></li>
            <li><span class="file">加班信息</span></li>
            <li><span class="file">考勤信息</span></li>
            <li><span class="file">业绩报告</span></li>
            <li><span class="file">固定薪资</span></li>
        </ul>
    </li>
    <li><span class="folder">培训管理</span>
        <ul>
            <li><span class="file">添加培训</span></li>
            <li><span class="file">修改培训信息</span></li>
        </ul>
    </li>
</ul>
</div>123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869

8.运行效果:

获取移动光猫管理员账号密码

针对设备型号

运营商:中国移动定制版;地区:广西;型号:烽火HG260GS-U;相关参数:GPON

前情提要 家里的光猫是集带WIFI一起的,所以没有另外装路由器。之前想进光猫后台设置一下,顺便改个密码,然后乱设置搞到不能上网,打电话让工作人员来恢复,他们上门来弄好了,说他把WIFI上网的密码也改成876543210,有点无语。之后一直用这个简单的密码用了一段时间,担心被蹭网,想改另一个,但进光猫时,发现用光猫背面的账号密码用不上去,原来是之前移动工作人员顺便把写在光猫背面的User登录密码也改了,但没告诉我。恢复出厂设置也不行!

后来我想方设法尝试登陆,找了网上的各种神级超级管理员密码,什么telecomadmin和nE7jA%5m、CMCCAdmin和aDm8H%MdA,都没用!

于是想到了一种思路,【ftp获取内部系统文件大法】。本质上每个光猫或路由都可以用ftp连接,不过如果是太高级的路由,像小米路由器那种,可能需要用到ssh这种高级的方式才能进入。但对于一般的运营商设备,可能就很简单。

不过很多时候,ftp功能默认是关闭状态的,这时就需要想办法打开它。

具体操作

一般的光猫都有一个工厂模式,默认密码账号如下:

账号:fiberhomehg2x0
密码:hg2x0
12

到这一步,登录进去,就能看到WIFI密码并可以进行修改了。 但是我们的最终目的是获取进入光猫的User或admin账号密码。

  • 在工厂模式管理界面里,将【FTP服务器】和【Telnet服务器】勾选打开,这时候ftp功能就被打开了。

  • 不过在工厂模式里,虽然展示ftp的账号密码,但是密码是非明文显示,可以通过修改自定义的密码,来进行后续的操作。(这里为了方便,将密码也改成了admin)

【关键!!!】

1、确保电脑接上了对应光猫的网络,打开浏览器,输入以下信息:(【ftp://】前缀协议别忘了加上)

到这一步,登录进去,就能看到WIFI密码并可以进行修改了。
但是我们的最终目的是获取进入光猫的User或admin账号密码。

在工厂模式管理界面里,将【FTP服务器】和【Telnet服务器】勾选打开,这时候ftp功能就被打开了。
不过在工厂模式里,虽然展示ftp的账号密码,但是密码是非明文显示,可以通过修改自定义的密码,来进行后续的操作。(这里为了方便,将密码也改成了admin)
==关键!!!==

确保电脑接上了对应光猫的网络,打开浏览器,输入以下信息:(【ftp://】前缀协议别忘了加上)
12345678

2、进入目录,打开 /fhconf 3、下载 backpresettings.conf 文件(或者进入 /fhbak,下载 resetConfig_keyParam.txt 文件) 4、记事本打开下载的文件 5、搜索 Username 或 TeleComAccount 关键词,看到类似以下信息:【=重要!!!=】

<Username>admin</Username>
<Password>Q21jYzEwMDg2Iw==</Password>
12

6、看到 Password 部分有一串乱码字符,实际上是base64码 7、打开百度 搜索 base64解码 8、将那串乱码粘贴进去,解码转换,会显示正常的密码,即可获得admin管理员的密码 9、打开 http://192.168.1.1 10、输入admin账号密码,进入光猫路由后台管理界面,大功告成!

总结

  • 知识点:光猫路由设备一般有:user模式、admin模式、工厂模式,每个模式下显示的管理界面都不同

  • 反思:理论上只要以上任何一步没有出错,很多别人家的路由器都可以像这样【软闯入】,并且顺利蹭网,甚至网络攻击、网络数据监控,所以各家网络路由设备开发厂商是不是真的有必要对系统进行更高级更安全的更新升级呢

MySQL出现Incorrect integer value: ” for column ‘id’ at row 1解决方法

用Navicat for MySQL还原数据库备份时,出现Incorrect integer value: ” for column ‘id’ at row 1的错误;

网上查资料发现5以上的版本如果是空值应该要写NULL
这种问题一般mysql 5.x上出现。

使用Select version();查看,

我用的是mysql5.0.37,而创建备份的MySQL数据库版本是5.6

官方解释说:得知新版本mysql对空值插入有”bug”,
要在安装mysql的时候去除默认勾选的enable strict SQL mode
那么如果我们安装好了mysql怎么办了,解决办法是更改mysql中的配置 my.ini

my.ini中查找sql-mode,

默认为sql-mode="STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION",

将其修改为sql-mode="NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION",重启mysql后即可

那么如果是虚拟主机或者是空间怎么办了。如果你能让空间商帮你改那是最好。如果不能,那你就只能程序改改。都规范一点。空值就写 null

create table file_table ( id int auto_increment primary key, filename varchar(50) not null,filepath varchar(50) not null,update_time date);
  • 1

然后用mysql写如下的插入语句:

$query = "Insert into file_table". " values ('','$name','$filepath',now())";  
  • 1

出现如下错误:
Incorrect integer value: ” for column ‘id’ at row 1

解决办法:
查了一下是因为用了高版本的mysql导致的,发现高版本的mysql如果是空值应该要写NULL或者0,所以插入语句应写成:

$query = "Insert into file_table". " values (NULL,'$name','$filepath',now())"; 
  • 1

或者

$query = "Insert into file_table". " values (0,'$name','$filepath',now())"; 

wordpress主题下拉菜单的宽度自适应

制作wordpress主题,我认为适应性和可扩展性很重要,即不同用户使用时不会出现溢出、排版混乱等问题。只有做到这样,才是一个合格的、适应性强的主题。下面进入重点。

当我们的导航菜单需要设置下拉菜单时,或许会要求宽度自适应,因为使用人不同,那么菜单项的内容就会不同,从而字数也不同,这时若定义固定的宽度,当字数超出定义宽度时,就会出现问题了,如何解决呢?采用下面的方法即可实现灵活变化。

一般情况下,带有下拉菜单的导航菜单是这样的一串代码:

<div class=”nav”>

<ul>

<li><a href=”#”>首页</a></li>

<li><a href=”#”>新闻中心</a>

<ul>

<li><a href=”#”>国内新闻</a></li>

<li><a href=”#”>xx </a></li>

<li><a href=”#”>xxxxxx</a></li>

</ul>

</li>

</ul>

</div>

若要实现 .nav ul li ul 的宽度随内容变化,需在css文件中做出以下定义:

.nav ul li ul{width:auto;}

.nav ul li ul li{display:inline;}

.nav ul li ul li a{display:inline-block; min-width:80px; white-space:nowrap;}

 

这里的ul、li、a会有写属性继承自上层,可根据自己需要定义。

注释:white-space:nowrap 表示不换行,直至遇到<br/>为止。

min-width:80px  设置最小宽度,根据需要,可用可不用。

wordpress下拉菜单,二级菜单制作

在之前的建网站的教程中,我们给大家讲了如何制作网站导航的二级导航,通过DIV+CSS的方式,可以制作出网站的二级菜单。这种方法是可能帮助我们去制作出内容固定的二级菜单出来,需要手动的修改二级导航里面的内容,才能变成属于我们自己需要的二级导航栏。

今天给广大学习如何做网站的学员介绍另一种更加方便快捷的wordpress下拉菜单制作的方法,它的内容是自动显示我们后台的菜单设置的内容。

wordpress下拉菜单,二级菜单制作

wordpress下拉菜单制作步骤

  1. 放一个jquery-xl.js到主题文件夹下的images文件夹;下载地址:https://pan.baidu.com/s/1eQH7EP8
  2. 将以下的代码放到自己网站模板头部文件header.php的</head>标签的上方。
    <script language=”javascript” type=”text/javascript” src=”<?php bloginfo(‘template_directory’); ?>/images/jquery-xl.js”></script>
  3. 删除原有的网站导航的整个DIV框,这个DIV框可以通过火狐浏览器的“审查元素”来找到;
  4. 将以下的HTML代码放在上一步删除的导航的位置;(相关教程:html视频教程
    <div id=”navnew”>
    <?php wp_nav_menu( array( ‘container’ => ”,’menu_class’ => ‘navigation’,’menu_id’ => “nav_sgBhgn”,’depth’ => 5, ) ); ?>
    </div>
    <script type=”text/javascript”>
    var topMenuNum = 0;
    $(“#nav_sgBhgn li”).hover(
    function(){
    topMenuNum++;
    $(this).attr(“id”,”kindMenuHover”+topMenuNum);
    $(“#kindMenuHover” + topMenuNum + ” > ul”).show();
    $(this).parent().addClass(“hover”);
    },
    function(){
    $(“#”+$(this).attr(“id”)+” > ul”).hide();
    $(this).attr(“id”,””);
    $(this).parent().removeClass(“hover”);
    }
    );
    </script>
  5. 将以下的CSS样式加入到自己网站模板的style.css的底部。
    /*wordpress下拉菜单,二级菜单制作 https://www.xuewangzhan.net/*/
    #navnew {line-height: 60px; width: 100%; background: #3598db; height: 60px}
    #navnew .navigation {margin:0 auto;width:980px;height:100%;}
    #navnew .navigation li {height:60px;line-height:60px;width:100px; z-index: 100; POSITION: relative;text-align:center; FLOAT: left;border-right:1px solid #2f89c5;}
    #navnew .navigation li A {display: block; height: 100%;width:100%; TEXT-DECORATION: none;color: #ffffff;font-size:16px;}
    #navnew .navigation li:hover{background: #2f89c5;}
    #navnew .navigation li ul li,#navnew .navigation li ul li ul li,#navnew .navigation li ul li ul li ul li{border-right:none;border-top:1px solid #2f89c5;}
    #navnew .navigation ul {display: none}
    #navnew .navigation ul li {line-height: 60px; width: 101px;background: #3598db; height: 60px;}
    #navnew .navigation li ul {z-index: 999; POSITION: absolute; width: 100px; display: none; background: #0099ff; TOP: 60px;}
    #navnew .navigation li ul ul {z-index: 999; TOP: 0px; left: 101px}
  6. 进入网站后台,在左侧有一个菜单的选项,可以创建菜单,通过拖拉就可以随意的修改自己网站的导航和二级导航内容。
  7. 有些学习如何做网站的学员使用的主题可能没有开启后台菜单功能,如果你进入网站后台后没有“菜单”选项的话,可以在自己网站的模板函数functions.php中加入以下的函数来开启菜单。
    //添加菜单功能
    if (function_exists(‘add_theme_support’)) {
    add_theme_support(‘nav-menus’);
    register_nav_menus( array( ‘primary’ => __( ‘Primary Navigation’, ‘primary’ ) ) );
    }

通过以上的步骤,我们可以在自己建网站时创建一个wordpress下拉菜单,如果你想制作三级,四级菜单,方法可以参考网站三级菜单、四级菜单制作