Php 在Laravel视图中使用CSS?
我刚刚开始学习Laravel,可以做控制器和路由的基础知识 我的操作系统是MacOSXLion,它在MAMP服务器上 我的routes.php代码:Php 在Laravel视图中使用CSS?,php,frameworks,laravel,Php,Frameworks,Laravel,我刚刚开始学习Laravel,可以做控制器和路由的基础知识 我的操作系统是MacOSXLion,它在MAMP服务器上 我的routes.php代码: Route::get('/', function() { return View::make('home.index'); }); Route::get('businesses', function() { return View::make('businesses.index'); }); Route::get('testin
Route::get('/', function() {
return View::make('home.index');
});
Route::get('businesses', function() {
return View::make('businesses.index');
});
Route::get('testing', function() {
return View::make('testing.index');
});
Route::get('hello', function() {
return "<h3>Hello world!</H3>";
});
Route::get('/',function(){
返回视图::make('home.index');
});
路由::get('business',function()){
返回视图::make('businesss.index');
});
路由::get('testing',function()){
返回视图::make('testing.index');
});
路由::get('hello',function()){
返回“你好,世界!”;
});
这很有效,视图显示得非常完美,“但是”我想尝试在视图中包含CSS,我尝试在目录中添加指向样式表的链接,但是页面将其显示为默认浏览器字体,即使CSS在HTML中
这是来自views文件夹中业务的index.php:
<head>
<link rel="stylesheet" type="text/css" href="mystyle.css">
</head>
<p>Business is a varied term. My content here.
商业是一个不同的术语。我的内容在这里。
我尝试在我的“其他视图”文件夹(测试)中使用刀片模板引擎来显示CSS,但是CSS仍然没有显示,尽管它在测试文件夹中
在我慢慢学习这个框架的过程中,如何克服这个问题并变得更好。您的css文件属于公用文件夹或其子文件夹 f、 如果你把你的css放进去
public/css/common.css
你会用
HTML::style('css/common.css');
在你看来
或者您也可以使用资产类别…您也可以像平常一样编写一个简单的链接标记,然后在href attr上使用:
<link rel="stylesheet" href="<?php echo asset('css/common.css')?>" type="text/css">
将您的资产放入公用文件夹;e、 g:
public/css
public/images
public/fonts
public/js
然后,要使用Laravel访问它们,请使用:
{{ HTML::script('js/scrollTo.js'); }}
{{ HTML::style('css/css.css'); }}
或:
此语法将自动生成正确的路径(例如,`public/js/scrollTo.js')。这是不可能的,兄弟,Laravel假设所有内容都在公用文件夹中
因此,我的建议是:
转到公用文件夹
创建一个文件夹,最好命名为css
为各自的视图创建文件夹,以使内容有条理
将相应的css放在这些文件夹中,这对您来说会更容易
或
如果你真的坚持要把css放在views文件夹中,你可以尝试从你的css文件夹目录到公共文件夹中创建符号链接(你是mac,所以没问题,但对于windows,这只适用于Vista、Server 2008或更高版本),你可以在你的视图文件中使用{HTML::style('your_view_folder/myStyle.css')}
,为了方便起见,这里有一个代码,在您发布的代码中,将这些代码放在返回视图::make()之前。
:
如果您真的想尝试实现您的想法,请尝试以下方法:
<link rel="stylesheet" href="<?php echo app_path() . 'views/your_view_folder/myStyle.css'?>" type="text/css">
我们可以通过以下方式来实现
<link href="{{ asset('/css/style.css') }}" rel="stylesheet">
{{ HTML::style('css/style.css', array('media' => 'print')) }}
{{HTML::style('css/style.css',array('media'=>'print'))}
它将搜索Laravel公用文件夹中的样式文件,然后进行渲染。将css文件放入公用文件夹。(public/css/bootstrap responsive.css)
和
将要包含的css或js文件复制到公用文件夹,或者您可能希望将其存储在public/css或public/js文件夹中
您正在使用公共目录中css文件夹中的style.css文件,然后可以使用
但在Laravel 5.2中,您必须使用
<link rel="stylesheet" href="{{ url('/') }}./css/style.css" type="text/css"/>
<script src="{{ url('/') }}./js/jquery.min.js"></script>
如果您想包含public/js文件夹中的javascript文件,它也相当简单
<script src="{{ url() }}./js/jquery.min.js"></script>
在Laravel 5.2中,您必须使用
<link rel="stylesheet" href="{{ url('/') }}./css/style.css" type="text/css"/>
<script src="{{ url('/') }}./js/jquery.min.js"></script>
函数url()
是一个laravel助手函数,它将生成给定路径的完全限定url。如Ahmad Sharif所述,您可以通过http
<link href="{{ asset('/css/style.css') }}" rel="stylesheet">
自Laravel 5以来,HTML
类在默认情况下不再包含
如果您使用的是表单或HTML帮助程序,您将看到一个错误,说明找不到类'Form'或找不到类'HTML'。在Laravel 5.0中,表单和HTML帮助程序已被弃用;然而,也有社区驱动的替代品,如由拉雷维尔集体维持的替代品
您可以使用以下行包含CSS或JS文件:
<link href="{{ URL::asset('css/base.css') }}" rel="stylesheet">
<link href="{{ URL::asset('js/project.js') }}" rel="script">
更新laravel 5.4----
所有答案都使用了laravel的HTML类,但我猜它现在在laravel 5.4中被贬低了,所以
将css和js文件放入公共->css/js
并使用
<link href="css/css.common.css" rel="stylesheet" >
对于Laravel 5.4,如果您使用的是mix helper,请使用
<link href="{{ mix('/css/app.css') }}" rel="stylesheet">
<script src="{{ mix('/js/app.js') }}"></script>
将它们放在public
文件夹中,并在视图中使用类似于href=“{{asset('public/css/style.css')}}”的内容调用它。请注意,调用资产时应包括public
。将css放入公用文件夹,然后
将此添加到您的刀片文件中
<link rel="stylesheet" type="text/css" href="{{ asset('mystyle.css') }}">
在我看来,路由到css和js的最佳选择是使用以下代码:
<link rel="stylesheet" type="text/css" href="{{ URL::to('route/to/css') }}">
因此,如果您在公用文件夹的css文件夹中有一个名为main.css的css文件,它应该如下所示:
<link rel="stylesheet" type="text/css" href="{{ URL::to('css/main.css') }}">
您只需将所有文件放在其指定的文件夹中,如
公共/css
公共/js
公共/图像
然后只需像在普通html中那样调用文件,如
它在任何版本的Laravel中都能正常工作在新的Laravel中使用{
{!! asset('js/app.min.js') !!}
<script type="text/javascript" src="{!! asset('js/app.min.js') !!}"></script>
{!!资产('js/app.min.js')
对于那些出于任何原因需要将js/css从公用文件夹中移出的人,在现代Laravel中,您可以使用。假设您的视图结构是
views
view1.blade.php
view1-css.blade.php
view1-js1.blade.php
view1-js2.blade.php
在视图1中
添加
@include('view1-css')
@include('view1-js1')
@include('view1-js2')
在视图js.blade.php
文件中,将js代码包装在
标记中
在视图css.blade.php中
将样式包装在
标记中
这将告诉Laravel和您的代码编辑器,这些实际上是js
和css
文件。您可以对附加的HTML、SVG和其他可在浏览器中呈现的内容执行相同的操作不,这没有什么区别。我无法通过
@include('view1-css')
@include('view1-js1')
@include('view1-js2')