如何根据另一个部分的计算宽度设置一个部分的宽度?

发布于 2025-01-01 01:11:04 字数 571 浏览 0 评论 0原文

尝试这样做,但这是错误的吗?下面是我尝试加载的样式、脚本和 html。

<style>
#bar {
    background:black;
    width:  </style><script>var barWidth = getElementByID("nav").style.width; document.write (nav);</script><style>
    height: 5px;
}
</style>

<section id="nav">
    <a href="#">Link1</a>
    <a href="#">Link2</a>
    <a href="#">Link3</a>
    <span id="loginButton"><a href="#">Login</a></span>
    <section id="bar"></section>    
</section>

Trying to do this, but is it wrong? Below is my style and script and html that I am trying to load.

<style>
#bar {
    background:black;
    width:  </style><script>var barWidth = getElementByID("nav").style.width; document.write (nav);</script><style>
    height: 5px;
}
</style>

<section id="nav">
    <a href="#">Link1</a>
    <a href="#">Link2</a>
    <a href="#">Link3</a>
    <span id="loginButton"><a href="#">Login</a></span>
    <section id="bar"></section>    
</section>

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

浸婚纱 2025-01-08 01:11:04

您不能将 script 标记嵌套在 style 标记内。以下将实现您想要的行为......

<style>
    #bar {
        background:black;
        height: 5px;
    }
</style>


<section id="nav">
    <a href="#">Link1</a>
    <a href="#">Link2</a>
    <a href="#">Link3</a>
    <span id="loginButton"><a href="#">Login</a></span>
    <section id="bar"></section>    
</section>


<script>
    var barWidth = getElementByID("nav").style.width;
    getElementById('bar').style.width = barWidth;
</script>

You cannot nest a script tag within a style tag. The following will accomplish your desired behavior...

<style>
    #bar {
        background:black;
        height: 5px;
    }
</style>


<section id="nav">
    <a href="#">Link1</a>
    <a href="#">Link2</a>
    <a href="#">Link3</a>
    <span id="loginButton"><a href="#">Login</a></span>
    <section id="bar"></section>    
</section>


<script>
    var barWidth = getElementByID("nav").style.width;
    getElementById('bar').style.width = barWidth;
</script>
骄兵必败 2025-01-08 01:11:04

嗯,是的,你不能那样做... scriptstyle 不像 PHP 或 ASP 之类的切换。

但是,您应该为此使用 js。如果将 #bar 设置为块级元素,默认情况下它将是 #nav 的宽度:

#nav { width: 300px; }

#bar {
    background:black;
    display: block;
    height: 5px;
}

Umm yeah you cant do that... script and style arent like switching in and out of PHP or ASP or something.

However you shoudlnt need to use js for this. if you set #bar to a block level element it will be the width of #nav by default:

#nav { width: 300px; }

#bar {
    background:black;
    display: block;
    height: 5px;
}
长安忆 2025-01-08 01:11:04

在您的示例中,它只是 width:100% 因为 #bar 是 #nav 的直接后代。但是,您应该使用


,而不是使用

元素,或者最好为 #nav 放置一个简单的边框底部。

“如何动态设置CSS规则?”这个问题的答案可以在文章Totally Pwn CSS with Javascript中找到。不要使用此解决方案来解决您的问题。

In your example, it would be just width:100% as #bar is a direct descendant of #nav. However, instead of making use of a <section>-element you either should use <hr />, or better put a simple border-bottom for #nav.

The answer to the question "how to set a css rule dynamically?" might be found in the article Totally Pwn CSS with Javascript. Do not use this solution for your problem.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文