CI框架引入CSS文件的方法是什么?

html-css010

CI框架引入CSS文件的方法是什么?,第1张

1、两种方法,相对路径和绝对路径

2、相对路径是相对网站根目录的路径也就是index.php所在的路径

3、绝对路径可以使用config.php中base_url配置

4、举例:static是根目录下的文件夹,存放静态文件

相对:

<script src="static/js/web.js"></script>

<link rel="stylesheet" type="text/css" href="static/css/style.css">

绝对:

首先php获取base_url的值

$base_url = $this->config->item('base_url')

//通过参数传递到html页面

$this->load->view('index', array('base_url'=>$base_url))

//页面中使用

<script src="<?php echo $base_url?>static/js/web.js"></script>

<link rel="stylesheet" type="text/css" href="<?php echo $base_url?>static/css/style.css">

其实不管是在用CI还是ZF都有同样一个问题,就是路径的问题。前期,我在用ZF做CMS时,我在.htaccess文件中设置了如遇到js,css,img等资源文件都不重定向。但今天在用CI时,却忘记了,搞了很久都没有出来,上了CI的中国官方网,终于在他们帮助下把问题觖决了,在这里把它贴出来,供大家分享。

(另注:我这里是隐藏了url中的index.php文件的,与不隐藏有所不同,但最终都是采用绝对URL)

首先,我在.htaccess文件里设置(作用是隐藏index.php),如下:

RewriteEngine on

RewriteCond $1 !^(index/.php|images|js|img|css|robots/.txt)#在这里写要排除的资源等

RewriteRule ^(.*)$ index.php/$1 [L]

我把JS,CSS,IMG等资源文件夹与SYSTEM文件夹放在同一级下,然后在JS文件夹中建立ajax.js文件,我在VIEW层中的文件为index.html。这样我要引入JS时,如下:

<script type="text/javascript" src="url/js/ajax.js'?>"></script>:注这里url是你的网站绝对URL(绝对 URL,就是 http://domain/js/ajax.js 这样叫做绝对 URL)

到这里就行了。当然为了可维护性,你也可以用CI自带的BASE_URL来设置,如下:

进入 application/config/config.php文件,在config.php文件中设置base_url:

$config['base_url'] = //这里是你的网站根目录

设置好后 再controller某处

$this->load->helper('url'),

然后再在VIEW层中具体页面中引入即可:

<script type="text/javascript" src='<?=base_url().'js/Ajax.js'?>'></script>

好了,CI中引入外部的JS与CSS就这么简单.

注别的说明:“ RewriteCond $1 !^(index/.php|images|js|img|css|robots/.txt) ”这里代码的意思是:任意你想访问的资源都不被重定向时,都可写在这里。有时,网站没有加载CSS,JS(它的路径都是正确的)时,都是被重定向了,这要注意.

谢谢采纳

CI是属于单入口的框架,所有的请求基本都在index.php这个文件完成,使用相对路径会有问题的。在ci中最好使用site_url()函数处理链接,或者使用

base_url() . + '#url#'

具体可以参看CI文档