在codeigniter视图中加载CSS的正确方法

我的基本网址是: $ config ['base_url'] ='http:// localhost / ci /'; </ code> </ p>

我的CSS文件夹位于根级别(所以 ci </ strong>)。</ p>

在我尝试的视图中:</ p>

 &lt; head&gt; 
&lt; style&gt; @import url('&lt;?= base_url()?&gt; /css/styles.css'); &lt; / style&gt;
&lt; / head&gt;
</ code> </ pre>

和</ p>

 &lt; head&gt; 
&lt; ; link rel =“stylesheet”type =“text / css”href =“&lt;?php echo base_url()?&gt; css / styles.css”&gt;
&lt; / head&gt;
</ code> </ pre>

都失败了。 使用Codeigniter框架导入CSS文件的正确方法是什么</ p>

以下是我的.htaccess文件的样子:</ p>

 &lt  ; IfModule authz_core_module&gt; 
要求所有拒绝
&lt; / IfModule&gt;
&lt; IfModule!authz_core_module&gt;
拒绝所有
&lt; / IfModule&gt;
</ code> </ pre>
</ div>

展开原文

原文

My base url in config is : $config['base_url'] = 'http://localhost/ci/';

My CSS folder is on root level(so ci).

In the view I tried:

<head>
    <style> @import url('<?=base_url()?>/css/styles.css'); </style>
</head>

and

<head>
    <link rel="stylesheet"  type="text/css" href="<?php echo base_url()?>css/styles.css">
</head>

both fail. what is the correct way to import a CSS file using the Codeigniter framework

Here is how my .htaccess file looks like :

    <IfModule authz_core_module>
    Require all denied
</IfModule>
<IfModule !authz_core_module>
    Deny from all
</IfModule>

douzui0143
douzui0143 如果您没有显示HTML,则此处还会显示其他内容。您可以添加用于显示视图的控制器/方法。
接近 3 年之前 回复
dongyan7851
dongyan7851 不,正如我所说,浏览器中的页面是空的/只是白色
接近 3 年之前 回复
dovrhg3246
dovrhg3246 你能从发送到浏览器的视图中看到任何内容吗?
接近 3 年之前 回复
duangu9997
duangu9997 实际上我在html中看不到它..
接近 3 年之前 回复
doushao5047
doushao5047 那么生成链接是什么?简单的技巧...在您的浏览器中查看HTML源代码-关注实际生成的HTML,甚至将其复制并粘贴到浏览器中...您是否看到了css文件?
接近 3 年之前 回复
duanshan3065
duanshan3065 你有没有在config.php中设置基本网址还要确保你有资源在应用程序文件夹外面$config['base_url']='http:/localhost/project/'确保权限0777
接近 3 年之前 回复
dongshan4549
dongshan4549 我认为这是一个CSS问题,而不是CodeIgniter
接近 3 年之前 回复
douduiyun6125
douduiyun6125 不,但我刚刚做了,但仍然行不通。
接近 3 年之前 回复
dtv8189
dtv8189 你加载了urlhelper吗?$这个->负载>帮手('URL');
接近 3 年之前 回复
doudaifu6083
doudaifu6083 它只是加载一个空页面而不是一个带有navbar的页面。当我删除链接标签时,它正在工作,但没有css,ofc
接近 3 年之前 回复
dongxie559554
dongxie559554 我接下来会做什么@Scriptonomy说,你怎么知道它“不工作?”
接近 3 年之前 回复
douguwo2275
douguwo2275 是!
接近 3 年之前 回复
doulao1966
doulao1966 您确定可以从浏览器访问它吗?HTTP://localhost/ci/css/styles.css
接近 3 年之前 回复
dongtanliefang8765
dongtanliefang8765 检查404的浏览器开发人员工具。
接近 3 年之前 回复

2个回答



我使用这种方法:</ p>

文件夹结构:</ p>

< p> example.com

| _应用程序

| _ assets

| _ system </ p>

CI 2.x </ strong > </ p>

我设置了 $ config ['base_url'] =''; </ code>,这适用于本地服务器</ strong>和< strong>生产服务器</ strong> </ p>

CI 3.x </ strong> </ p>

警告:您必须设置此项( > $ config ['base_url'] </ code>)值! 所以我使用下面的代码区分本地服务器</ strong>和生产服务器</ strong>:</ p>

  if($ _SERVER [“HTTP_HOST”  ] =='ex.ample')
$ config ['base_url'] ='http://ex.ample/';
else
$ config ['base_url'] ='http://example.com /';
</ code> </ pre>

(我在本地服务器上使用名为 ex.ample </ code>的虚拟主机,根据需要更改) </ p>

在我的文件夹资源中,我存储 assets / css / style.css </ code> </ p>

并在我的视图中调用它: </ p>

 &lt; link rel =“stylesheet”type =“text / css”href =“/ assets / css / style.css”/&gt; 
</ code> </ pre>
</ div>

展开原文

原文

I use this approach:

folder structure:

example.com
|_ application
|_ assets
|_ system

CI 2.x

I've set $config['base_url'] = '';, this will work for local server and production server

CI 3.x

WARNING: You MUST set this ($config['base_url']) value! so I use below code to differentiate between local server and production server :

if ($_SERVER["HTTP_HOST"]=='ex.ample')
    $config['base_url'] =  'http://ex.ample/';
else
    $config['base_url'] =  'http://example.com/';

( I'm using at the local server a virtual host called ex.ample, change this to your needs)

in my folder assets I store assets/css/style.css

and call it in my view with:

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

dpsfay2510
dpsfay2510 让我们在聊天中继续讨论。
接近 3 年之前 回复
dousi7919
dousi7919 谢谢你的帮助,真的,但我不明白你在说什么,我基本上是个菜鸟,这是我迄今为止最糟糕的经历...
接近 3 年之前 回复
drtoclr046994545
drtoclr046994545 好吧,我看到:,如果你在本地服务器上有一个目录C:\ ci \ mysite.com \ public.html,那么这就是你的root。 设置指向该目录的虚拟主机。 在生产(共享)服务器上,您可以在mysite.com下找到根目录
接近 3 年之前 回复
dongsong73032
dongsong73032 但是如果我没有ci文件夹,那么codeigniter文件将与htdocs文件夹中的其他文件混合,那么你的意思是跳过它?
接近 3 年之前 回复
douguaidian8021
douguaidian8021 我在RewriteCond $ 1上使用RewriteEngine!^(index \ .php | assets | photos | videos | jssor | robots \ .txt | favicon \ .ico)RewriteRule ^(。*)$ /index.php/$1 [L] 这将删除index.php,并允许像资产等文件夹可访问。 这是根目录中的.htaccess。 顺便说一句,在我的回答中做一个设置,跳过额外的文件夹ci
接近 3 年之前 回复
douxiong3234
douxiong3234 并且,顺便说一句,我重新安装了该项目,我仍然有同样的问题:(
接近 3 年之前 回复
duan97689
duan97689 我在View中有两个.htaccess文件,在System中有一个.htaccess文件。 只是在我的问题中粘贴了他们的内容。
接近 3 年之前 回复
douli1854
douli1854 我建议从头开始重新安装CI,BTW你的.htaccess文件可能需要这样的东西:RewriteCond $ 1!^(index \ .php | assets | photos | videos | jssor | robots \ .txt | favicon \ .ico),也许你可以在你的问题中展示你的htaccess?
接近 3 年之前 回复
dongqiabei7682
dongqiabei7682 我尝试了上面的两个@Vickel并仍然得到了致命的错误。
接近 3 年之前 回复
duanlujiaji10335
duanlujiaji10335 自动加载url helper $ autoload ['helper'] = array('url'); 或在构造区域中的控制器上加载帮助程序
接近 3 年之前 回复
dpd46554
dpd46554 你仍然需要加载帮助器$ this-> load-> helper('url')才能使用base_url()。 您可以自动加载此帮助程序功能,如果您的问题仍然存在,我建议您从新的CI安装开始并适应此处的帖子....
接近 3 年之前 回复
dongqiya9552
dongqiya9552 尝试上面我得到:调用未定义的函数base_url()
接近 3 年之前 回复
dongli2000
dongli2000 是的,这是另一种正确的方法,但你需要输入更多:)
接近 3 年之前 回复
dongwen1871
dongwen1871 我用它像href =“<?php echo base_url('assets / css / style.css');?>”因为你的基本网址都准备好了/
接近 3 年之前 回复
douzun4443
douzun4443 领先的斜杠使得它绝对确保你加载一个相对路径,如果你把它拿走CI 2.x可能会破坏...
接近 3 年之前 回复
dqt83336
dqt83336 您需要在codeigniter 3>版本中设置基本URL,如上面的注释中所述。
接近 3 年之前 回复



 &lt; link rel =“stylesheet”type =“text / css”href =“&lt;?php echo base_url(  )?&gt; css / styles.css“&gt; 
</ code> </ pre>

base_url </ code> </ p>结尾处缺少分号

此代码正常,确保您提供正确的路径</ p>

您也可以使用</ p>

 &lt; link  rel =“stylesheet”type =“text / css”href =“&lt;?php echo base_url('css / styles.css');?&gt;”&gt; 
</ code> </ pre>
< / DIV>

展开原文

原文

<link rel="stylesheet"  type="text/css" href="<?php echo base_url()?>css/styles.css">

you are missing a semicolon at the end of base_url

This code is ok ensure that you are giving correct path

you can also use

<link rel="stylesheet"  type="text/css" href="<?php echo base_url('css/styles.css');?>">

dsvf46980
dsvf46980 “你不需要用分号来终止PHP块的最后一行”。 看php手册:php.net/manual/en / ...
接近 3 年之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问