用户
 找回密码
 入住 CI 中国社区
搜索
查看: 9468|回复: 18
收起左侧

[讨论/交流] view加载不出css样式

[复制链接]
发表于 2011-11-18 16:41:20 | 显示全部楼层 |阅读模式
1CI币
我做了个view,但是css是外部的,运行的时候css加载不出来,只能显示html的式样,请问是怎么回事?怎么加载呢?用在controller中编写加载css的函数吗,怎么写?

发表于 2011-11-18 16:53:34 | 显示全部楼层
比如说,你根目录下有个resource文件,其中是放置 css ,以及 js等静态资源的,然后,把以下代码放在config.php 的文件最后,这样在需要调用样式的view文件中,可以  用 $this->config->item('resource_url'); 取得这个数组,然后,就可以按照普通来使用了,最好,将这个css的路径打印出来,如果路径正确,那么你就可以看到加载样式后的效果了。

$config['resource_url'] = array(
        'css' => $config['base_url'].'/resource/css/',
);
回复

使用道具 举报

发表于 2011-11-18 16:54:52 | 显示全部楼层
当然,方法不止一种,你也可以直接在 view中 直接加载 样式文件,但是,如果静态文件比较多的话,还是单独建立文件夹,比较便于管理!希望可以帮助到你!
回复

使用道具 举报

 楼主| 发表于 2011-11-18 17:17:07 | 显示全部楼层
shenma 发表于 2011-11-18 16:54
当然,方法不止一种,你也可以直接在 view中 直接加载 样式文件,但是,如果静态文件比较多的话,还是单独 ...

恩恩,谢谢你了,帮了大忙了,我试试
回复

使用道具 举报

 楼主| 发表于 2011-11-18 17:20:32 | 显示全部楼层
shenma 发表于 2011-11-18 16:53
比如说,你根目录下有个resource文件,其中是放置 css ,以及 js等静态资源的,然后,把以下代码放在config ...

我想问那段代码是固定的吗?没有自己要更换的地方吗?
回复

使用道具 举报

发表于 2011-11-18 18:39:45 | 显示全部楼层
$config['resource_url'] = array(
        'css' => $config['base_url'].'/resource/css/',
);

对,不需要更换什么,  其中的resource 是根目录下与index.php同级的一个文件夹,底下是css文件夹,然后其中是css文件。同理,你还可以在其中加载js,比如说: 'js' => $config['base_url'].'/resource/js/',   跟普通数组一样使用就好了
回复

使用道具 举报

发表于 2011-11-18 18:45:11 | 显示全部楼层
deppr 发表于 2011-11-18 17:20
我想问那段代码是固定的吗?没有自己要更换的地方吗?


$config['resource_url'] = array(
        'css' => $config['base_url'].'/resource/css/',
);

对,不需要更换什么,  其中的resource 是根目录下与index.php同级的一个文件夹,底下是css文件夹,然后其中是css文件。同理,你还可以在其中加载js,比如说: 'js' => $config['base_url'].'/resource/js/',   跟普通数组一样使用就好了
回复

使用道具 举报

发表于 2011-11-19 00:12:53 | 显示全部楼层
其实可以更简单,不需要修改 config.php 这个文件

<link type="text/css" rel="stylesheet" href="<?=base_url()?>css/style.css" />
<script type="text/javascript" src="<?=base_url()?>js/jquery-1.7.min.js"></script>

把 css 或者 js 文件夹放在 CI 的根目录,href 里用 base_url() 输出根目录,加上你的CSS目录和CSS文件名称就可以了,像我上面的代码一样
回复

使用道具 举报

发表于 2011-11-19 08:51:53 | 显示全部楼层
孤月蓝风 发表于 2011-11-19 00:12
其实可以更简单,不需要修改 config.php 这个文件

恩,方法肯定不止一种,我觉得还是这样写比较简单。比如:
$config['resource_url'] = array(
        'js' => $config['base_url'].'/resource/js/',
);
加载的话,你只需要在 view文件里  写上 $url = $this->confing->item('resource_url');
然后就是  
<script type="text/javascript" src="<?=$url?>/jquery-1.7.min.js"></script>
<script type="text/javascript" src="<?=base_url()?>js/jquery-1.7.min.js"></script>

当然你那样写,可以,但是 把 css以及 js 文件夹直接放在根目录下,没有将它们放在一个文件夹下来的利索,如果每次加载,你都需要多写一层文件夹,何尝不试试这样的写法呢?我只是感觉这样比较规范一点而已  当然了,你感觉哪种适合你就用哪种,无可厚非的    O(∩_∩)O~

点评

是不是笔误了呢,路径这里应$url['js'], 接下去后面多了一个“/”  发表于 2012-7-9 15:41
回复

使用道具 举报

发表于 2011-11-19 10:54:50 | 显示全部楼层
shenma 发表于 2011-11-19 08:51
恩,方法肯定不止一种,我觉得还是这样写比较简单。比如:
$config['resource_url'] = array(
        'j ...

哈哈,确实看个人习惯了,我已经习惯我那种写法了,   
回复

使用道具 举报

本版积分规则