将内联CSS移动到外部样式表

时间:2010-12-04 21:30:33

标签: css inline-code

我正在对其中包含内联css代码的tumblr布局进行修改。我打算用tumblr做的是创建一个时间敏感的css开关,使用一个小的javascript代码,可以在白天和黑夜之间切换主题。这要求我有一个外部样式表,以便脚本可以在两个样式表之间切换。

我将内联代码复制到外部css文件并上传。然后我做了一个css链接引用文件,但它似乎没有用。

我把它放在

之前
<LINK REL=StyleSheet HREF="http://itsnotch.com/tumblr/files/gurucss.css" TYPE="text/css">

另外,还有字体,标题,日期等的元数据。这可能是链接引用不起作用的原因吗?如果是这样,我可以在css中以某种方式使用元数据吗?

以下是布局的所有代码

             {块:描述} {/块:描述}

    <!-- DEFAULT COLORS -->
    <meta name="color:Background" content="#d7a769"/>
    <meta name="color:Title" content="#444"/>
    <meta name="color:Description" content="#666"/>
    <meta name="color:Post Title" content="#c00"/>    
    <meta name="color:Text" content="#444"/>
    <meta name="color:Inline Link" content="#c00"/>
    <meta name="color:Quote" content="#666"/>
    <meta name="color:Quote Source" content="#444"/>
    <meta name="color:Link Post" content="#c00"/>
    <meta name="color:Conversation Background" content="#f8f8f8"/>
    <meta name="color:Conversation Border" content="#ddd"/>
    <meta name="color:Conversation Text" content="#444"/>
    <meta name="color:Conversation Label" content="#111"/>
    <meta name="color:Photo Border" content="#eee"/>
    <meta name="color:Date" content="#fff"/>
    <meta name="color:Date Background" content="#ccc"/>
    <!-- END DEFAULT COLORS -->


    <!-- DEFAULT SETTINGS -->
    <meta name="image:Background" content="http://assets.tumblr.com/images/x.gif" />
    <meta name="font:Title" content="Arial" />
    <meta name="font:Body" content="Lucida Sans" />
    <meta name="text:Disqus Shortname" content="" />

    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
    <title>{block:SearchPage}Search results for "{SearchQuery}" - {/block:SearchPage}{block:PostSummary}{PostSummary} - {/block:PostSummary}{Title}</title>
    <link rel="icon" href="{Favicon}"/>
    <link rel="alternate" type="application/rss+xml" title="RSS" href="{RSS}"/>
    <meta name="viewport" content="width=775"/> <!-- iPhone -->

    <style type="text/css">
        body {
            margin:           0px;
            background-image: url('http://itsnotch.com/tumblr/images/nighttime_bg.jpg');
            background-repeat: repeat-x;
            background-attachment: fixed;
            background-position: top center;
            background-color:#b68e59;

            font-family:      {font:Body};
        }

        #content {
            width:            850px;
            margin:           auto;
            margin-top:       -44px;
            padding:          15px;
            background-color: {color:Content Background};
            position:         relative;
        }

        a {
            color:            {color:Inline Link};
        }

        h1 {
            padding:          30px 0px 50px 0px;
            margin:           0px;
            text-align:       center;
            font:             Bold 55px {font:Title};
            letter-spacing:   -2px;
            line-height:      50px;
        }

        h1 a {
            color:            {color:Title};
            text-decoration:  none;
        }

        #description {
            position:         absolute;
    left:        -189px;
            top:             150px;
        }

        #description div {
            font:             normal 18px {font:Body};
            line-height:      20px;
            width:            150px;
            color:            {color:Description};
        }

                    #description div#search {
                            text-align: left;
                    }

        #description div a {
            color:            {color:Description};
        }

        #description #nav_container {
            font-size: 13px;
            font-weight: bold;
        }

        #description #nav_container .dim {
            filter: alpha(opacity=50); 
            -moz-opacity: 0.5; 
            opacity: 0.5;
        }

                    #searchresultcount {
                        margin: 0 0 30px;
                        text-align: center;
                    }

        .post {
            position:         relative;
            margin-bottom:    40px;
        }

        .post div.labels {
            position:         absolute;
            right:            435px;
            text-align:       right;
            width:            150px;
        }

        .post div.date {
            background-color: {color:Date Background};
            white-space:      nowrap;
            font:             Normal 20px {font:Body};
            letter-spacing:   -1px;
            color:            {color:Date};
            display:          inline;
            padding:          3px 5px 0px 5px;
            line-height:      20px;
        }

        .post div.date a {
            color:            {color:Date};
            text-decoration:  none;
        }

        .post img {
          max-width: 100%;
        }

        .post h2 {
            font-size:        18px;
            font-weight:      Bold;
            color:            {color:Post Title};
            letter-spacing:   -1px;
            margin:           0px 0px 10px 0px;
        }

        .post h2 a {
            color:            {color:Post Title};
            text-decoration:  none;
        }

        /* Regular Post */
        .post .regular {
            font-size:        12px;
            color:            {color:Text};
            line-height:      17px;
        }

        .post .regular blockquote {
            font-style: italic;
        }

        /* Photo Post */
        .post .photo img {
            border:           solid 10px {color:Photo Border};
        }

        .post .photo div.caption {
            font-size:        11px;
            color:            {color:Text};
            margin-top:       5px;
        }

        .post .photo div.caption a {
            color:            {color:Text};
        }

        /* Quote Post */
        .post .quote span.quote {
            font:             Bold 28px {font:Body};
            letter-spacing:   -1px;
            color:            {color:Quote};
        }

        .post .quote span.quote a {
            color:            {color:Quote};
        }

        .post .quote span.quote big.quote {
            font:             Bold 60px Georgia, serif;
            line-height:      8px;
            vertical-align:   -20px;
        }

        .post .quote span.source {
            font-size:        16px;
            font-weight:      Bold;
            color:            {color:Quote Source};
            letter-spacing:   -1px;
        }

        .post .quote span.source a {
            color:            {color:Quote Source};
        }

        /* Link Post */
        .post .link a.link {
            font:             Bold 20px {font:Body};
            letter-spacing:   -1px;
            color:            {color:Link Post};
        }

        .post .link span.description {
            font-size: 13px;
            font-weight: normal;
            letter-spacing: -1px;
        }

        /* Conversation Post */
        .post .conversation ul {
            background-color: {color:Conversation Background};
            list-style-type:  none;
            margin:           0px;
            padding:          0px;
            border-left:      solid 5px {color:Conversation Border};
        }

        .post .conversation ul li {
            border-bottom:    solid 1px {color:Conversation Border};
            font-size:        12px;
            padding:          4px 0px 4px 8px;
            color:            {color:Conversation Text};
        }

        .post .conversation ul li span.label {
            font-weight:      bold;
            color:            {color:Conversation Label};
        }

        /* Audio Post */      
        .post .audio div.caption {
            font-size:        11px;
            color:            {color:Text};
            margin-top:       5px;
        }

        .post .audio div.caption a {
            color:            {color:Text};
        }

        /* Video Post */
        .post .video {
            width:            400px;
            margin:           auto;
        }

        .post .video div.caption {
            font-size:        11px;
            color:            {color:Text};
            margin-top:       5px;
        }

        .post div.video div.caption a {
            color:            {color:Text};
        }

        /* Footer */
        #footer {
            margin:           40px 0px 30px 0px;
            text-align:       center;
            font-size:        12px;
        }

        #footer a {
            text-decoration:  none;
            color:            {color:Text};
        }

        #footer a:hover {
            text-decoration:  underline;
        }

                    .query { font-weight: bold; }

        {CustomCSS}
    </style>

    <!--[if lt IE 7]>
        <style type="text/css">
            .post div.labels {
                right: 450px;
            }
        </style>
    <![endif]-->
</head>
<body>
    <div id="content">
        <h1><a href="/"><img src="http://itsnotch.com/tumblr/images/NotchTheGuru_Banner.jpg" border "0" /></a></h1>

        <div id="description">
            <div>
                                    <div id="search">
                                        <form action="/search" method="get">
                                            <input type="text" name="q" value="{SearchQuery}"/>
                                            <input type="submit" value="Search"/>
                                        </form>
                                    </div>

                {Description}

                <p id="nav_container">
                    <a href="/archive" id="archive_link">Archive</a>
                    <span class="dim">/</span>
                    <a href="{RSS}">RSS</a>
                </p>
            </div>
        </div>

                    {block:SearchPage}
                    <div id="searchresultcount">
                        <p>Your search for <span class="query">{SearchQuery}</span> returned {SearchResultCount} result(s).</p>
                    </div>
                    {/block:SearchPage}

        {block:Posts}
            <div class="post">
                <div class="labels">
                    {block:NewDayDate}
                        <div class="date"><a href="{Permalink}">{Month} {DayOfMonth}</a></div>
                    {/block:NewDayDate}

                    {block:SameDayDate}
                        <div class="date"><a href="{Permalink}">+</a></div>
                    {/block:SameDayDate}
                </div>

                {block:Regular}
                    <div class="regular">
                        {block:Title}<h2><a href="{Permalink}">{Title}</a></h2>{/block:Title}
                        {Body}
                    </div>
                {/block:Regular}

                {block:Photo}
                    <div class="photo">
                        {LinkOpenTag}<img src="{PhotoURL-400}" alt="{PhotoAlt}"/>{LinkCloseTag}
                        {block:Caption}
                            <div class="caption">{Caption}</div>
                        {/block:Caption}
                    </div>
                {/block:Photo}

                {block:Quote}
                    <div class="quote">
                        <span class="quote">
                            <big class="quote">&#147;</big> {Quote}
                        </span>
                        {block:Source}<span class="source">{Source}</span>{/block:Source}
                    </div>
                {/block:Quote}

                {block:Link}
                    <div class="link">
                        <a href="{URL}" class="link" {Target}>{Name}</a>
                        {block:Description}
                            <span class="description">{Description}</span>
                        {/block:Description}
                    </div>
                {/block:Link}

                {block:Conversation}
                    <div class="conversation">
                        {block:Title}<h2><a href="{Permalink}">{Title}</a></h2>{/block:Title}
                        <ul>
                            {block:Lines}
                                <li>
                                    {block:Label}<span class="label">{Label}</span>{/block:Label}
                                    {Line}
                                </li>
                            {/block:Lines}
                        </ul>
                    </div>
                {/block:Conversation}

                {block:Audio}
                    <div class="audio">
                        {AudioPlayerGrey}
                        {block:Caption}
                            <div class="caption">{Caption}</div>
                        {/block:Caption}
                    </div>
                {/block:Audio}

                {block:Video}
                    <div class="video">
                        {Video-400}
                        {block:Caption}
                            <div class="caption">{Caption}</div>
                        {/block:Caption}
                    </div>
                {/block:Video}
            </div>

            {block:IfDisqusShortname}
                {block:Permalink}
                    <div id="disqus_thread"></div>
                    <script type="text/javascript" src="http://disqus.com/forums/{text:Disqus Shortname}/embed.js"></script>
                    <noscript><a href="http://{text:Disqus Shortname}.disqus.com/?url=ref">View the discussion thread.</a></noscript>

                    <div style="text-align: right; margin-top: 5px">
                        <a href="http://disqus.com" class="dsq-brlink">blog comments powered by <span class="logo-disqus">Disqus</span></a>
                    </div>
                {/block:Permalink}
            {/block:IfDisqusShortname}
        {/block:Posts}

        <div id="footer">
            {block:PreviousPage}
                <a href="{PreviousPage}">&#171; Previous</a> &nbsp;&nbsp;
            {/block:PreviousPage}

            {block:NextPage}
                <a href="{NextPage}">Next &#187;</a>
            {/block:NextPage}
        </div>
    </div>

    {block:IfDisqusShortname}
        <script type="text/javascript">
            //<![CDATA[
            (function() {
                var links = document.getElementsByTagName('a');
                var query = '?';
                for(var i = 0; i < links.length; i++) {
                    if(links[i].href.indexOf('#disqus_thread') >= 0) {
                        query += 'url' + i + '=' + encodeURIComponent(links[i].href) + '&';
                    }
                }
                document.write('<script charset="utf-8" type="text/javascript" src="http://disqus.com/forums/{text:Disqus Shortname}/get_num_replies.js' + query + '"></' + 'script>');
            })();
            //]]>
        </script>
    {/block:IfDisqusShortname}
</body>

我在关闭位置下方的标签之间取出了部分,并将其移动到我服务器上的单独文件中。然后使用上面的链接参考代码链接它,它不起作用。所以,我想我做错了。

3 个答案:

答案 0 :(得分:2)

@Josh你的样式表似乎不起作用的原因是因为,正如你所说,HTML具有内联CSS代码,它总是比样式表更重要。

因此,我能想到的一个简单的解决方案是在外部样式表属性的值之后添加“!important”。这将使您的样式表更加重要。

例如:

如果你的HTML有:

<p style="color:red;">hello world</p>

并且你的样式表有:

p { color:blue; }

你的段落将是红色的。但是如果你添加“!important”,即:

p { color:blue!important; }

现在段落将显示为蓝色:)

希望能解决您的问题!

答案 1 :(得分:2)

这里发生的事情是你的HTML使用某种聪明的标签来从Tumblr CMS中提取数据(请原谅我从未使用过Tumblr),但这就是:

{block:SearchPage}{/block:SearchPage}

所以不要删除它们!或者数据不会被拉入,您的网站将无法运行!

接下来,如果可以,请删除所有内联CSS并将此代码放入外部样式表中:

body {
margin: 0px;
background-image: url('http://itsnotch.com/tumblr/images/nighttime_bg.jpg');
background-repeat: repeat-x;
background-attachment: fixed;
background-position: top center;
background-color:#b68e59;
font-family: Lucida Sans;
}

#content {
width:850px;
margin:   auto;
margin-top:   -44px;
padding:  15px;
background-color: #d7a769;
position: relative;
}

a {
color:#c00;
}

h1 {
padding:  30px 0px 50px 0px;
margin:   0px;
text-align:   center;
font: Bold 55px Arial;
letter-spacing:   -2px;
line-height:  50px;
}

h1 a {
color: #444;
text-decoration:  none;
}

#description {
position: absolute;
        left:-189px;
top: 150px;
}

#description div {
font: normal 18px Lucida Sans;
line-height:  20px;
width:150px;
color:#666;
}

#description div#search {
text-align: left;
}

#description div a {
color: #666;
}

#description #nav_container {
font-size: 13px;
font-weight: bold;
}

#description #nav_container .dim {
filter: alpha(opacity=50); 
-moz-opacity: 0.5; 
opacity: 0.5;
}

#searchresultcount {
margin: 0 0 30px;
text-align: center;
}

.post {
position: relative;
margin-bottom:40px;
}

.post div.labels {
position: absolute;
right:435px;
text-align:   right;
width:150px;
}

.post div.date {
background-color: #ccc;
white-space:  nowrap;
font: Normal 20px Lucida Sans;
letter-spacing:   -1px;
color:#fff;
display:  inline;
padding:  3px 5px 0px 5px;
line-height:  20px;
}

.post div.date a {
color:#fff;
text-decoration:  none;
}

.post img {
  max-width: 100%;
}

.post h2 {
font-size:18px;
font-weight:  Bold;
color:#c00;
letter-spacing:   -1px;
margin:   0px 0px 10px 0px;
}

.post h2 a {
color:#c00;
text-decoration:  none;
}

/* Regular Post */
.post .regular {
font-size:12px;
color:#444;
line-height:  17px;
}

.post .regular blockquote {
font-style: italic;
}

/* Photo Post */
.post .photo img {
border:   solid 10px #eee;
}

.post .photo div.caption {
font-size:11px;
color:#444;
margin-top:   5px;
}

.post .photo div.caption a {
color:#444;
}

/* Quote Post */
.post .quote span.quote {
font: Bold 28px Lucida Sans;
letter-spacing:   -1px;
color:#666;
}

.post .quote span.quote a {
color:#666;
}

.post .quote span.quote big.quote {
font: Bold 60px Georgia, serif;
line-height:  8px;
vertical-align:   -20px;
}

.post .quote span.source {
font-size:16px;
font-weight:  Bold;
color:#444;
letter-spacing:   -1px;
}

.post .quote span.source a {
color:#444;
}

/* Link Post */
.post .link a.link {
font: Bold 20px Lucida Sans;
letter-spacing:   -1px;
color:#c00;
}

.post .link span.description {
font-size: 13px;
font-weight: normal;
letter-spacing: -1px;
}

/* Conversation Post */
.post .conversation ul {
background-color: #f8f8f8;
list-style-type:  none;
margin:   0px;
padding:  0px;
border-left:  solid 5px #ddd;
}

.post .conversation ul li {
border-bottom:solid 1px #ddd;
font-size:12px;
padding:  4px 0px 4px 8px;
color:#444;
}

.post .conversation ul li span.label {
font-weight:  bold;
color:#111;
}

/* Audio Post */  
.post .audio div.caption {
font-size:11px;
color:#444;
margin-top:   5px;
}

.post .audio div.caption a {
color:#444;
}

/* Video Post */
.post .video {
width:400px;
margin:   auto;
}

.post .video div.caption {
font-size:11px;
color:#444;
margin-top:   5px;
}

.post div.video div.caption a {
color:#444;
}

/* Footer */
#footer {
margin:   40px 0px 30px 0px;
text-align:   center;
font-size:12px;
}

#footer a {
text-decoration:  none;
color:#444;
}

#footer a:hover {
text-decoration:  underline;
}

.query { font-weight: bold; }

我在这里做的是获取Meta标签中显示的变量,然后对每个相应的标签进行查找/替换。

外部CSS不支持其他大括号内的花括号{},因此它不会验证(@Lekensteyn)。但令人困惑的是,Smarty也使用这些花括号,这意味着它可以在内联时工作,但不能在所有CSS外部.css文件中工作!

我希望这是有道理的。

将修改后的CSS粘贴到外部文件中,如果可以,请删除内联CSS,并保留其他所有内容!

答案 2 :(得分:0)

我弄清楚问题是什么。编程这个用于颜色的元短代码然后用它们设计的白痴。这用于tumblr新手能够改变字体的颜色等....

我决定将背景放在不同的样式表上,并将所有内容保留在html代码中。我可能(可能应该)重写代码。但我不喜欢它。 (也许以后)。

希望现在我可以在页面上使用这个java代码

<SCRIPT LANGUAGE="JavaScript"> 
Begin function getCSS()
{
  datetoday = new Date();
  timenow=datetoday.getTime();
  datetoday.setTime(timenow);
  thehour = datetoday.getHours();

  if (thehour > 20)
    display = "http://itsnotch.com/tumblr/files/nighttime.css";
  else if (thehour > 7)
    display = "http://itsnotch.com/tumblr/files/daytime.css";
  else 
    display = "http://itsnotch.com/tumblr/files/nighttime.css";

  var css = '';

  document.write(css);// 
}
</script>
<script language="javascript">getCSS();</script>

到目前为止......没有好处: - /