Php 在Laravel视图中使用CSS?

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

我刚刚开始学习Laravel,可以做控制器和路由的基础知识

我的操作系统是MacOSXLion,它在MAMP服务器上

我的routes.php代码:

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')