gpt4 book ai didi

html - 有没有更简单的方法来编写此 HTML 代码?

转载 作者:行者123 更新时间:2023-11-28 05:55:48 28 4
gpt4 key购买 nike

我是 HTML 的新手,有什么方法可以压缩这段代码,这仅适用于下拉菜单。我觉得它可以短很多。另外,我知道其他事情也有一些问题,我现在正在尝试一些新事物。提前致谢。

<ul>
<div class="dropdown">
<button class="dropbtn">Home</button>
</div>
<div class="dropdown">
<button class="dropbtn">About Us</button>
<div class="dropdown-content">
<a href="#">Who We Are</a>
<a href="#">Histroy</a>
<a href="#">First-Due Map</a>
</div>
</div>
<div class="dropdown">
<button class="dropbtn">Apparatus</button>
<div class="dropdown-content">
<a href="#">Engine 301</a>
<a href="#">Engine 302</a>
<a href="#">Squad 303</a>
<a href="#">Utility 304</a>
<a href="#">Utility 306</a>
<a href="#">Engine 307</a>
<a href="#">Antique Engine 309</a>
<a href="#">Antique Hose Reel</a>
</div>
</div>
<div class="dropdown">
<button class="dropbtn">Members</button>
<div class="dropdown-content">
<a href="#">Top Responders</a>
<a href="#">Officers</a>
</div>
</div>
<div class="dropdown">
<button class="dropbtn">Calls</button>
<div class="dropdown-content">
<a href="#">Stories</a>
<a href="#">Call Statistics</a>
</div>
</div>
<div class="dropdown">
<button class="dropbtn">Media</button>
<div class="dropdown-content">
<a href="#">Images</a>
<a href="#">Videos</a>
</div>
</div>
<div class="dropdown">
<button class="dropbtn">Links</button>
<div class="dropdown-content">
<a href="#">Stations</a>
<a href="#">Baltimore County Fire Department</a>
<a href="#">Baltimore County Police Department</a>
</div>
</div>
<div class="dropdown">
<button class="dropbtn">Join LVFC</button>
</div>
<div class="dropdown">
<button class="dropbtn">Contact Us</button>
</div>
</div>
</nav>
</ul>

CSS:

.dropbtn { background-color: #000000;
color: #ffffff;
padding: 16px;
font-size: 16px;
border: none;
cursor: pointer; }

.dropdown { position: relative;
display: inline-block; }

.dropdown-content { display: none;
position: absolute;
background-color: #f9f9f9;
min-width: 160px;
box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2); }

.dropdown-content a { color: #000000;
padding: 12px 16px;
text-decoration: none;
display: block; }

.dropdown-content a:hover {background-color: #D6B813}

.dropdown:hover .dropdown-content { display: block; }

.dropdown:hover .dropbtn { background-color: #D6B813;
color: #000000; }

ul { background-color: #000000; }

最佳答案

你是对的 - 它可以更短。但这肯定不能只用 HTML 来完成。你说你是 HTML 的新手,你可能不愿意这样做。但是,如果您对 Javascript 有所了解,那么您有以下两种选择之一:

  1. 使用 Javascript/jQuery 将所有链接的文本存储在数组中并在运行时创建它们。
  2. 使用 AngularJS 做第 1 点中提到的同样的事情。 (因为,它非常有效)。

使用 jQuery 的示例:

<div class="dropdown-content"></div>

------------------------------------

LinkTexts = ["Engine 301","Engine 302","Squad 303","Utility 304","Utility 306"]; /*Array Variable*/
for(i=0;i<LinkTexts.length;i++)
$(".dropdown-content").append("<a href='#'>"+LinkTexts[i]+"</a>");

输出:

<div class="dropdown-content">
<a href="#">Engine 301</a>
<a href="#">Engine 302</a>
<a href="#">Squad 303</a>
<a href="#">Utility 304</a>
<a href="#">Utility 306</a>
</div>

使用 AngularJS 的示例:

<body ng-app="myApp" ng-controller="myCtrl">
<div class="dropdown-content">
<a href="#" ng-repeat="x in LinkTexts">{{x}}</a>
</div>
<script>
var app = angular.module("myApp", []);
app.controller("myCtrl", function($scope) {
$scope.LinkTexts = ["Engine 301","Engine 302","Squad 303","Utility 304","Utility 306"]; /*Scope Array Variable*/
});
</script>
</body>

输出:

<div class="dropdown-content">
<a href="#">Engine 301</a>
<a href="#">Engine 302</a>
<a href="#">Squad 303</a>
<a href="#">Utility 304</a>
<a href="#">Utility 306</a>
</div>

现在,您可能想知道“‘额外的’代码如何让事情变得简单?”。AngularJS 的一个优势是,一旦范围变量发生变化,变化就会立即自动地反射(reflect)到所有地方。

例如,如果您向范围数组变量添加另一个值,它会自 Action 为超链接添加到下拉内容 div 下(很酷吧?)。这样一来,创建数百个重复标签变得很容易(想象创建一个表格!)。

相反,要用 Javascript/jQuery 实现同样的效果,我们必须触发一个函数来将新添加的变量添加到文档中。

那么,现在一切都取决于你 - 它会是什么?

关于html - 有没有更简单的方法来编写此 HTML 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37082033/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com