javascript - Bootstrap 的 css 样式切换器

标签 javascript css twitter-bootstrap

我正在尝试根据 https://www.inetsolution.com/blog/march-2010/css-style-switcher-a-quick-and-dirty-how-to 实现样式切换器. 但是只要我将 title=""添加到 css 链接,css 文件就不会加载到页面上,样式会回退到默认 Bootstrap 。 我的外部 css 文件添加在正文的底部。顺序是:

<link rel="stylesheet" href="css/bootstrap.min.css">
    <style>
        body {
            padding-top: 50px;
            padding-bottom: 0px;
        }
    </style>
<link rel="stylesheet" href="css/bootstrap-theme.min.css">
<link rel="stylesheet" href="css/my-styles.css">
<link rel="stylesheet" href="css/my-alternate-styles.css">
<link rel="stylesheet" href="fontello-xxxxxxxx/css/fontello.css">

有什么我想念的吗?

最佳答案

您可能做对了所有事情(除了一件事,见下文*),文章中的代码在应该使用直引号 '' ""时使用了弯引号 ‘' “”。

<a href=”#” onclick=”setActiveStyleSheet(‘default’); return false;”>Change style to default</a>
<a href=”#” onclick=”setActiveStyleSheet(‘alternate’); return false;”>Change style to alternate</a>

因此,如果您复制并粘贴此部分,将无法正确解析。这是使用直引号的正确方法:

 <a href="#" onclick="setActiveStyleSheet('default'); return false;">Change style to default</a>
 <a href="#" onclick="setActiveStyleSheet('alternate'); return false;">Change style to alternate</a>

查看此 PLUNKER而不是片段。由于涉及多个样式表,该代码段将不起作用。

SNIPPET(没有功能,请查看 PLUNKER。)

<!doctype html>
<html>
  <head>
<link href='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css' rel='stylesheet'>
<link href='default.css' title='default' rel='stylesheet'>
<link href='alt.css' title='alt' rel='alternate stylesheet'>
        <style>
        body {
            padding-top: 50px;
            padding-bottom: 0px;
        }
    </style>
    </head>
  <body>
    <section>
      <p>TEST</p>
      </section>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
    <script src='https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js'></script>
    <script src='styleSwitcher.js'></script>
    </body>
  </html>

*我注意到你说:

...my external css files are added at the bottom of the body...

您应该始终放置 <link><head> 里面.大多数情况下,JavaScript/jQuery 在执行任何操作之前需要加载实际的 DOM。因此,在大多数情况下,确保您的样式(<link><style>)先行并进入 <head> 非常重要。 .

对于 <script> , 最好将它们放在 <body> 的底部就在结束标记之前 </body> .请参阅代码段和 PLUNKER例如 <link> , <style> , 和 <script>布局。

关于javascript - Bootstrap 的 css 样式切换器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41210996/

相关文章:

javascript - 上传图像并使用javascript将其显示为小

html - Bootstrap 和绝对定位视频标签

html - CSS 过渡无法正常工作

javascript - 复制 Bootstraps 主导航和子导航

css - Bootstrap 3 轮播过渡速度

javascript - 访问对象数组的属性

javascript - javascript 中的 asp-mvc get 函数不显示更新的模型值

php - 将其他页面的内容嵌入到我自己的页面上有哪些可能性

javascript - ionic 侧边菜单,如何将链接放置在侧边菜单的底部

css - 强制 Bootstrap 选择(.selectpicker)元素的字体大小