使用css创建水平菜单的3种方法

使用html中的<ul>,<li>和<a>等元素创建出的菜单,默认情况下,每个item前面有黑色marker,并且每个item占据一行。如何通过设定css,将其转变为水平菜单?有如下3种方法。

1. 使用float属性:对<li>元素设置CSS: float: left。这样,<li>元素将水平排列,不会换行。注意:使用float时,必须对容器(这里是<ul>)设置overflow:hidden。

      <!DOCTYPE html>
      <html>
      <style>
      ul {
        list-style-type: none;
        margin: 0;
        padding: 0;
        overflow: hidden;
        background-color: #333;
      }
      
      ul li {
        float: left;
      }
      
      ul li a {
        display: block;
        padding: 10px 15px;
        text-decoration: none;
        color: white;
      }
      
      ul li a:hover {
        background-color: red;
      }
      
      
      </style>
      <body>
      
      <ul>
      <li><a href="#">item1</a></li>
      <li><a href="#">item2</a></li>
      <li><a href="#">item3</a></li>
      </ul>
      </body>
      </html>

      2. 将<li>元素设置CSS: display: inline-block。因为<li>是block level元素,会以一个新行开始,并且占用全部宽度。通过对其设置 display: inline-block,它就会变得像inline元素一样,只会占据必要宽度,从而多个<li>元素就能够实现水平排列。

      <!DOCTYPE html>
      <html>
      <style>
      ul {
        list-style-type: none;
        margin: 0;
        padding: 0;
        background-color: #333;
      }
      
      ul li {
        display: inline-block;
      }
      
      ul li a {
        display: block;
        padding: 10px 15px;
        text-decoration: none;
        color: white;
      }
      
      ul li a:hover {
        background-color: red;
      }
      
      
      </style>
      <body>
      
      <ul>
      <li><a href="#">item1</a></li>
      <li><a href="#">item2</a></li>
      <li><a href="#">item3</a></li>
      </ul>
      </body>
      </html>
      

      3. 对<ul>使用flex布局。<ul>包含的<li>就会水平排列。

      <!DOCTYPE html>
      <html>
      <style>
      ul {
        list-style-type: none;
        margin: 0;
        padding: 0;
        background-color: #333;
        display: flex;
      }
      
      ul li a {
        display: block;
        padding: 10px 15px;
        text-decoration: none;
        color: white;
      }
      
      ul li a:hover {
        background-color: red;
      }
      
      
      </style>
      <body>
      
      <ul>
      <li><a href="#">item1</a></li>
      <li><a href="#">item2</a></li>
      <li><a href="#">item3</a></li>
      </ul>
      </body>
      </html>
      

      发表在 CSS

      gogs迁移服务器

      1. 新服务器安装gogs,参考https://cloud.tencent.com/developer/article/1626705。只安装,到浏览器打开3000端口首次设置时停止。
      2. 旧服务器上运行./gogs backup 命令,会生成一个zip文件。
      3. 将zip文件使用scp命令传输到新服务器,使用./gogs restore –from=”zip file name”,恢复数据。
      4. 修改DNS设置,gogs服务器域名指向新服务器ip地址,参考旧服务器nginx配置文件,在新服务器nginx配置文件里设置gogs相关网址。
      5. 浏览器打开gogs网址,登录后右上角“用户设置”-“SSH密钥”,删除旧密钥,重新上传公钥文件内容(以前的公钥文件要保留)。

      使用rufus制作Windows To Go系统(Windows 11)

      使用rufus制作WTG(Windows To Go)的好处:1. 绕过第一次启动windows 11时必须联网;2. 绕过第一次启动windows 11时必须登录微软帐户。

      在rufus界面需要作如下设置:1. 指定要安装WTG的移动硬盘;2. 指定下载好的windows镜像文件;3. 设定要安装的是:普通windows系统还是windows to go系统;4. 设定UEFI启动;5. 设定文件系统NTFS;6. 设定分区格式GPT,等。最后点击开始,弹出对话框,勾选绕过联网/绕过登录微软帐户等选项。点击确定,等待几分钟就可以制作完成。

      SATA硬盘迁移windows 11系统到NVME硬盘,开机蓝屏报错inaccessible_boot_device

      品牌台式机自带正版win11系统,并与主板绑定,换硬盘后也可以继续使用正版系统。由于硬盘是SATA接口的3.5寸机械硬盘,运行速度慢。购买了NVME硬盘,想替换机械硬盘。使用傲梅分区助手的硬盘克隆方法,将机械硬盘内的win11系统迁移到新的NVME硬盘。电脑bois启动顺序设置成NVME硬盘第一位启动。启动后蓝屏并显示inaccessible_boot_device错误。

      网上找到的方法:https://www.bilibili.com/opus/549890534135278818

      我没有PE,但有NVME移动硬盘盒,使用另一种类似的办法。首先,从台式机上拆下NVME硬盘,找来移动硬盘盒,做成移动硬盘。然后将NVME移动硬盘插入另一台windows系统电脑,cmd执行regedit,选择HKEY_LOCAL_MACHINE,选择左上角菜单:文件——加载配置单元,找到NVME移动硬盘所在盘符,如:K盘,进入K:\Windows\System32\config目录,定位到SYSTEM文件。弹出的对话框中,项名称随便起个名字,比如填写:nvme111。注册表定位到:计算机\HKEY_LOCAL_MACHINE\nvme111\ControlSet001\Services\stornvme。把 Start的数据改为0,如果本来就是0,那就不用变。删除左边stornvme的下一级目录StartOverride。左边定位到nvme111并选中,选择左上角菜单:文件——卸载配置单元。将NVME硬盘从硬盘盒取出,装到台式机,就可以正常启动了。

      .gitignore忽略文件夹的表示方法

      libs: 忽略整个项目下名字为libs的文件或文件夹。
      libs/: 忽略整个项目下名字为libs文件夹。
      /libs: 忽略根目录下名字为libs的文件或文件夹。
      /libs/: 忽略根目录下名字为libs的文件夹。

      起始的 / 表示根目录;结尾的 / 表示当前为文件夹。

      发表在 git | 标签为