murokistev's avatar

How to get my posts in grid view

I have a blog site in Laravel 8 that i wish to display posts in main index page in grid view... Currently im able to get the posts but they are showing as a list.. How can i loop through these in grid view... Below is my code for the index page.. what can i change to get a good result?

@extends('layouts.app')
@section('content')
<div class="container">
    <div class="row text-start">
        <div class="col-md-12">
            <div class="card">
                <div class="card-header">{{ __('New Posts') }}</div>
                @foreach($posts as $post)
                <div class="row">
                <div class="col-sm-6">
                <div class="card" style="width: 15rem;">
                    <img class="card-img-top" src="/storage/covers/{{$post->cover_image}}" alt="Card image cap">
                    <div class="card-body">
                      <h5 class="card-title"><a href="/posts/{{$post->id}}"> {{$post->title}} </a></h5>
                    </div>
                </div>
                </div>
            </div>
                @endforeach
        </div>
    </div>
</div>
</div>

@endsection
0 likes
4 replies
lat4732's avatar
lat4732
Best Answer
Level 12
<div class="container">
    <div class="row text-start">
        <div class="col-md-12">
            <div class="card">
                <div class="card-header">{{ __('New Posts') }}</div>
                <div class="row">
                    @foreach($posts as $post)
                        <div class="col-sm-4">
                            <div class="card" style="width: 15rem;">
                                <img class="card-img-top" src="/storage/covers/{{$post->cover_image}}" alt="Card image cap">
                                <div class="card-body">
                                <h5 class="card-title"><a href="/posts/{{$post->id}}"> {{$post->title}} </a></h5>
                                </div>
                            </div>
                        </div>
                    @endforeach
                </div>
        </div>
    </div>
</div>
</div>
1 like
murokistev's avatar

Thank you @laralex This has worked perfectly... If i change div class="col-sm-4" to something like div class="col-sm-3" i will get 4 Posts for each row right??

murokistev's avatar

@Laralex and final question sorry to bother you, how to i set a specific size for the card-body to avoid overflow and also ensure that the entire row has a specific height?? Or should i just change everything from the cards to some other form for better views??

Please or to participate in this conversation.